请大家帮帮忙了
大家有没有设计过这程序啊,比如这里有几组数据(123456,234567,345678,456789,123458,134589)如果和下面比方说四个数值相同时(3458),就把那数组拿掉,不用考虑位置这组数就是从小到大的
所以得出上面的还有(123456,234567,456789,)这三组,大家能不能帮我把这编出来啊
我非常感谢大家了!!
/******************************************************************************* 比如这里有几组数据(123456,234567,345678,456789,123458,134589)如果和下面 比方说四个数值相同时(3458),就把那数组拿掉,不用考虑位置这组数就是从小到大的. -------------------------------------------------------------------------------- 这个程序写的时候对于位置的关系(如大数在前面,小数在后面)没有限制,但在 每一组数据中,不允许出现重复的数据——其实如果想加个限制,也不是很难。 *******************************************************************************/ #include<stdio.h> #include<string.h> int main(void) { char a[5][100];/*定义一个字符型二维数组 */ char t[100]; /* 定义一个字符型数组 */ int i,j,k,num; for(i=0;i<5;++i) /* 输入数据 */ { printf("\ninput a[%d]:\n",i); scanf("%s",&a[i]); } printf("input t:\n"); scanf("%s",&t); for(i=0;i<5;++i)/* 从二维数组的一维开始检测 */ { num=0; /* 记数器置 0 */ for(j=0;j<strlen(a[i]);++j) for(k=0;k<strlen(t);++k) if(a[i][j]==t[k]) num++; /* 如果发现相同的数据,记数器加 1 */ if(num>=strlen(t)) continue; /* 如果在某一组数据中和检测的数据有等量相同的数据,返回*/ else printf("%s\n",a[i]); /* 否则,打印数据 */ } return 0; }