###### 问题遇到的现象和发生背景? 最后一个问题无法解决 ###### 问题相关代码,请勿粘贴截图
//这个控件是粘贴过来的,才开始学c语言,请各位能耐心解答,代码以下,编译器:codeblocks。 #include <stdio.h> #include <stdlib.h> #include <string.h> void jiaohuan(int a[],int j,int h) { ? ? int c; ? ? c=a[j]; ? ? a[j]=a[h]; ? ? a[h]=c; } void xuanze(int a[],int n) { ? ? int i,j,min; ? ? for(i=0;i<n;i++) ? ? { ? ? ? ? min=i; ? ? ? ? for(j=i+1;j<n;j++) ? ? ? ? { ? ? ? ? ? ? if(a[min]>a[j]) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? min=j; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? jiaohuan(a,min,i); ? ? } }
int main() { ? ? char zfc[100][50]; ? ? char a[50]; ? ? int len,k=0; ? ? int b[100]; ? ? int q=0,m,i; ? ? for(i=0;i<100;i++) ? ? { ? ? ? ? gets(a); ? ? ? ? zfc[i][50]=a; ? ? ? ? len=strlen(a); ? ? ? ? k++; ? ? ? ? b[i]=len; ? ? ? ? if(len==6) ? ? ? ? { ? ? ? ? ? ? for(int p=0;p<6;p++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? m=a[p]; ? ? ? ? ? ? ? ? if(m!=42) ? ? ? ? ? ? ? ? ? ? q++; ? ? ? ? ? ? } ? ? ? ? ? ? if(q==0) ? ? ? ? ? ? ? ? break; ? ? ? ? } ? ? } ? ? xuanze(b,k); ? ? for(int u=0;u<100;u++) ? ? { ? ? ? ? int v,l; ? ? ? ? zfc[i][50]=l; ? ? ? ? v=strlen(l); ? ? ? ? if(v==b[k]) ? ? ? ? { ? ? ? ? ? ? printf("%s\n",zfc[u][50]); ? ? ? ? } ? ? } ? ? return 0; }
###### 运行结果及报错内容? 最后的字符串无法打印 ######解答思路和尝试过的方法? 以上最后一个for循环 ###### 我想要达到的结果 要求:输入n个字符串,每个字符串字符数量小于或等于50,字符串总数小于100, 在输入六个相同的“*”后输入停止,并输出已输入的最长的字符串。
|