请高手帮忙用C语言编一道数组问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:51:05
该题由彩票引发,要求如下:
1.从1-33选任6个数组成一组
2.将其中全由奇数或全由偶数组成的组除掉
3.将4个或4个以上相连的数组成的组除掉,如将(1,2,3,4,5,6),(1,2,3,4,6,7)等除掉
3.编一个函数,其功能是将给定的组及与其有5个相同数的组除掉,如给定
(2,6,15,27,29,32),将(1,6,15,27,29,32)等除掉;该函数最好可以同时处理给定的N个数组
4.输出剩下数组
5.本人刚学 C,清高手不要不屑,谢谢
1 给定的数组就是自己输入的数组
2 对于要求1 ,意为将其全部组合都找出来,但因太多不必输出;再将不符和要求的数组除掉

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int compare(int rand_num, int inp_num);
int intcmp(const void* v1, const void* v2);

void main(void)
{
int i, j,a,count1,count2,count3,count4,count5=0;//count5初始为0,计算能够输出符合条件数组的次数;
int rand_num[6] ={1,2,3,4,5,6},inp_num[6];
int odevity[6];
int rn,in;

srand((unsigned)time(NULL));

printf("请输入1~33中任意6位数:\n");

for(i=0;i<6;i++)
{
scanf("%d",&inp_num[i]);
}
for(i=0;i<6;i++) //输入的数字不能重复,不能小于1或大于33;
{
for(j=i+1;j<6;j++)
{
if(inp_num[i] == inp_num[j])
{
printf("输入的数字重复\n");
exit(1);
}

}
if(inp_num[i]<1 || inp_num[i] > 33)
{
printf("输入的数字不在范围内\n");
exit(1);
}
}

qsort(inp_num,6,sizeof(inp_num[0]),intcmp); //输入的数组整理;