英文单词排序
2023-12-30 12:52:28
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#
作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C程序如下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[20][10];
int i = 0;
scanf("%s", a[i]);
while(a[i][0] != '#')//输入字符串
{
i++;
scanf("%s", a[i]);
}
for(int j = 1; j <= i - 1; j++)//冒泡排序
{
for(int k = 0; k < i - j; k++)
{
if(strlen(a[k]) > strlen(a[k + 1]))
{
char temp[10];
strcpy(temp, a[k]);
strcpy(a[k], a[k + 1]);
strcpy(a[k + 1], temp);
}
}
}
for(int j = 0; j < i; j++)//输出字符串
{
printf("%s ", a[j]);
}
return 0;
}
文章来源:https://blog.csdn.net/2302_80325489/article/details/135284822
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!