实验11-1-1 英文单词排序 (25 分)
发布日期:2021-06-29 22:19:29 浏览次数:3 分类:技术文章

本文共 803 字,大约阅读时间需要 2 分钟。

实验11-1-1 英文单词排序 (25 分)

本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

输入格式:

输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。

输出格式:

输出为排序后的结果,每个单词后面都额外输出一个空格。

输入样例:

blue
red
yellow
green
purple

输出样例:

red blue green yellow purple
#include<stdio.h>
#include<string.h>
int main()
{
int i=0,j,n=1,t=1;
static char ch[20][10],ch1[10];
for(i=0;i<20;i++)
{
scanf("%s",ch[i]); ///scanf()当遇到空格或者是换行符时结束本次输入;
//而gets(ch);当遇到换行符时结束本次输入;
//ch[i]本身就是二维数组的首地址;故可不用写 &;
/
for(j=0;j<10;j++)
{
if(ch[i][j]= =’#’)
{
n=0;
}
}
if(n==0)
{
break;
}
else t++;//放在这里的作用是可以不把 '#'字符计算在行数内;
}
for(i=1;i<t;i++)
{
for(j=0;j<t-2;j++)
{
if(strlen(ch[j])>strlen(ch[j+1]))
{
strcpy(ch1,ch[j]);
strcpy(ch[j],ch[j+1]);
strcpy(ch[j+1],ch1);
}
}
}
for(j=0;j<t-1;j++)
{
printf("%s",ch[j]);
if(j<t-1) printf(" ");
}
}

转载地址:https://dingshijie.blog.csdn.net/article/details/87260380 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:实验8-2-10 IP地址转换 (20 分)
下一篇:实验10-1 圆形体体积计算器 (20 分)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月10日 19时39分48秒