永发信息网

c++输入三个人名,按字母顺序对其进行排序,然后输出。要求使用C++的string类型可以包含空格

答案:2  悬赏:60  手机版
解决时间 2021-02-22 05:02
  • 提问者网友:我是女神我骄傲
  • 2021-02-21 21:04
c++输入三个人名,按字母顺序对其进行排序,然后输出。要求使用C++的string类型可以包含空格求大神啊,明天老师抽人讲题
最佳答案
  • 五星知识达人网友:往事埋风中
  • 2021-02-21 21:34
给你提供了一个remove_space(string& str)函数,把要去掉空格的串str传入函数即可,函数返回后,str中的内容即被前后去除了多余的空格。 不明白的地方可以hi我
#include<string>
using namespace std;
void remove_space(string& str){
string buff(str);
char space = ' ';
str.assign(buff.begin() + buff.find_first_not_of(space),
buff.begin() + buff.find_last_not_of(space) + 1);
}

测试:
(1)前后有若干个空格的情况,输入" abc ",输出:"abc"
(2)前后有若干空格,且字符串中间也夹杂着若干空格的情况,输入" a b cd ", 输出:"a b cd"

相信这就是你要的
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-02-21 23:11
//#include "stdafx.h"//If the vc++6.0, with this line. #include <string> #include <iostream> using namespace std; int main(int argc,char *argv[]){     string s1,s2,s3,t;     char ch;     cout << "Please enter 3 names...\n";     while((ch=cin.get())!='\n')         s1+=ch;     while((ch=cin.get())!='\n')         s2+=ch;     while((ch=cin.get())!='\n')         s3+=ch;     if(s1>s2)         t=s1,s1=s2,s2=t;     if(s1>s3)         t=s1,s1=s3,s3=t;     if(s2>s3)         t=s2,s2=s3,s3=t;     cout << s1 << '\n' << s2 << '\n' << s3 << endl;     return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯