在线等待,求大家帮我解决一个小问题,感激不尽。
要解决的问题:输入4个不同长度的数,然后按照长度从小到大排列输出。(用C语言解答)
我做的源代码如下:
#include <stdio.h>
#include <string.h>
void sorting(char _str[4][11]);
void main(void)
{ char str[4][11];char temp[11];int i=0;
printf("\nPlease input four strings! \n\n");
for(;i<4;i++)
{printf("[%d] strings(1~10):",(i+1));
gets(temp);
strcpy(str[i],temp);
printf("\n");
}
sorting(str);
}
void sorting(char _str[4][11])
{ char string[4][11];int j=0,k=0,flag=1;char min[11];
for(;j<4;j++)
{strcpy(string[j],_str[j]);}
for(j=1;j<4&&flag==1;j++)
{flag=0;
for(k=0;k<4-j;k++)
{if(strlen(string[k])>strlen(string[k+1]))
{flag=1;
strcpy(min,string[k]);
strcpy(string[k],string[k+1]);
strcpy(string[k+1],min);
}
}
}
printf("The strings (min to max) are:\n");
for(j=0;j<4;j++)
printf("%s\n",string[j]);
}
现在我这个程序少验证所输入的字符串长度相等的情况。我想麻烦大家帮我补充一下,用strlen();这个函数,判断所输入的4个字符串长度是否有相等的,如果有,就输出error!
然后exit(0);谢谢大家帮忙。:)