编写程序,输入若干个字符串。要求:(1)按字符串长度的大小升序输出各个字符串。(2)按字符串中字符的ASCLL码值大小升序输出各个字符串。
3条回答
- 林深 2016-02-18 09:16关注
如果按照 1条件优先于2的话,我会这么写。。(你作业好多呀)
#include <string> #include <iostream> #include <algorithm> #include <vector> using namespace std; //比较函数,用于排序 bool compare(string a,string b) { //长度不一样的时候采用长度来排序 if (a.length() != b.length()) { return a.length() < b.length(); } //长度一样的时候采用ASCLL值排序 return a < b; } int main() { vector<string>list; string inputString; while (cin>>inputString) { //结束标志,测试方便,可以注释掉 if (inputString == "0") { break; } //加入到vector list.push_back(inputString); } //排序,系统方法 sort(list.begin(),list.end(),compare); //依次输出 for (int i=0; i<list.size(); i++) { cout<<list[i]<<endl; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器