7-10 英文单词排序(string类型的长度表示方法)
7-10 英文单词排序
分数 15
作者 张泳
单位 浙大城市学院
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。
输入格式:
输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。
输出格式:
输出为排序后的结果,每个单词后面都额外输出一个空格。
输入样例:
blue
red
yellow
green
purple
#
输出样例:
red blue green yellow purple
参考代码
#include<iostream>
#include<string>
#include<string.h>
#include <iomanip> //stew(6)用到
using namespace std;
int main()
{
string str[30];
//输入
cin >> str[0];
int n = 1;
while (str[n-1] != "#")
{
cin >> str[n];
n++;
}
n--; //不把 # 留在字符串数组内,方便我们输出
//排序
for (int i = n - 1; i >= 0; i--)
{
for (int j = 0; j < i; j++)
{
if (str[j].size() > str[j + 1].size()) //string类型的长度表示方法
{
string t;
t = str[j];
str[j] = str[j + 1];
str[j + 1] = t;
}
}
}
//输出,注意把长度为1的 # 剔除,这一步我们在输入哪里把#剔除了,是一个巧妙的操作
for (int i = 0; i < n; i++)
{
cout << str[i] << " "; //题目要求每个单词后都要有空格,比较反常
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】