一定要用C语言和结构体,本题要求编写程序,
输入n个英文单词,
对这些单词按长度从小到大排序后输出。
如果长度
相同,按照输入的顺序不变。
在结构体定义一个int类型成员,保存字符串的长度,然后对该数据排序即可。
#include <stdio.h>
typedef struct _words
{
char word[100];
int len;
}words;
int main()
{
words w[10000],temp;
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",&w[i].word);
w[i].len = 0;
for(j=0;w[i].word[j] != 0;j++)
w[i].len++;
}
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(w[j].len > w[j+1])
{
temp = w[j];
w[j] = w[j+1];
w[j+1] = temp;
}
}
for(i=0;i<n;i++)
printf("%s\n",w[i].word);
return 0;
}