输入5个字符串,按由小到大的顺序输出(使用指针数组)初学c++,已经晕了,希望大神指点我编得程序怎么改

如题所述

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
    map <string,int> sort_str;
    map <string,int> :: iterator it;
    for(int i=1;i<=5;i++)
    {
        string temp;
        cin>>temp;
        sort_str.insert(pair<string,int> (temp,i));
    }
    cout<<"排序之后:\n";
    for(it=sort_str.begin();it!=sort_str.end();it++)
    {
        cout<<it->first<<endl;
    }
    return 0;
}

追问

能给我的程序改改嘛?您的我有些不太懂,竟然感觉不是c++,不过还是谢谢您啦~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-10
建议你换一个思路,char[5][20],也就是说每一行开头都是一个字符串的开头。那你在输入的时候这样:
for(int i=0;i<5;i++)
{
for(int j=0;s[i][j]!='0';j++) //每个字符串以0结尾
scanf("%c",s[i][j]);

}
至于你说的输出是指每一个字符串大于另一个字符串吗?如果是那我建议你自己另写一个任意两个字符比较的函数,然后调用输出本回答被提问者采纳
相似回答