编写程序,输入若干个字符串。要求:(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 求解 yolo算法问题
- ¥15 虚拟机打包apk出现错误
- ¥30 最小化遗憾贪心算法上界
- ¥15 用visual studi code完成html页面
- ¥15 聚类分析或者python进行数据分析
- ¥15 三菱伺服电机按启动按钮有使能但不动作
- ¥15 js,页面2返回页面1时定位进入的设备
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝