5-11 英文单词排序(25分)(结构体)
发布时间
阅读量:
阅读量
5-11 英文单词排序(25分)请编写一个程序来处理一组英文单词,并按照以下规则进行排序:将这些单词按照长度由短到长排列,并输出结果。若长度相同,则保留输入原有顺序。
5-11 英文单词排序(25分)请编写一个程序来处理一组英文单词,并按照以下规则进行排序:将这些单词按照长度由短到长排列,并输出结果。若长度相同,则保留输入原有顺序。
输入格式:
实现, 达成, 取得
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
输出样例:
red blue green yellow purple
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct ss
{
string a;
int n;
};
ss s[25];
int cmp(ss q,ss h)
{
if(q.a.length()!=h.a.length())
return q.a.length()<h.a.length();
return q.n<h.n;
}
int main()
{
int n=0;
while(cin>>s[n].a&&s[n].a[0]!='#')
{
s[n].n=n;
n++;
}
sort(s,s+n,cmp);
for(int i=0;i<n;i++)
{
cout<<s[i].a<<" ";
}
}
代码解释
全部评论 (0)
还没有任何评论哟~
