任意输入5个字符串存放到二维数组中,按字符串长度从短到长顺序输出。(用C程序)

本人新手,希望高手指点!

#include<stdio.h>
#include <string.h>
int main()
{
char str[5][20],temp[20];
int i,j,k,len[5],t;
printf("输入五个字符串:");
for(i=0; i<5; i++)
{
scanf("%s",str[i]);
len[i] = strlen(str[i]);
}
for(i=0; i<4; i++)
{
k = i;
for(j=i+1; j<5; j++)
{
if(len[k] > len[j])
{
k = j;
}
}
if(k != i)
{
memset(temp,0,20);
strcpy(temp,str[k]);
memset(str[k],0,20);
strcpy(str[k],str[i]);
memset(str[i],0,20);
strcpy(str[i],temp);
t = len[k];
len[k] = len[i];
len[i] = t; }
}
for(i=0; i<5; i++)
{
printf("%s ",str[i]);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-26
太 新手了 这都不知道。我也不是很懂。我来抢满答案!
相似回答