onepic 2019-10-02 08:54 采纳率: 88.9%
浏览 265
已采纳

c++编程排序问题,不知道错在哪无法正常排序,无显示。

编写一个字符串排序函数SortStr(string s[], int n),对输入的n个字符串按从小到大进行排序。编写主程序,输入5个字符串,调用SortStr进行排序后输出排序结果。
实现提示:getline(cin,str) 函数可以从cin输入带空格的字符串。

#include "iostream"
#include "string"
using namespace std;

void SortStr(string s[],int n)
{
int i,j;
string t;
for(i=0;i {
for(j=i;j {
if(s[i]>s[j+1])
{
t=s[i];
s[i]=s[j+1];
s[j+1]=t;
}
}
}
}
int main(int argc,char*argv[])
{
int i,n;
string s;
n=5;
for(i=0;i<n;i++){
getline(cin,s);
}
SortStr(&s,5);
for(i=0;i<n;i++)
{
cout<<s[i]<<endl;
}
return 0;
}

展开全部

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-10-02 09:00
    关注
    #include <iostream>
    #include <string>
    using namespace std;
    
    void SortStr(string s[],int n)
    {
        int i,j;
        string t;
        for(i=0;i<n-1;i++) {
            for(j=0;j<n-1-i;j++) {
                if(s[j]>s[j+1])
                {
                    t=s[j];
                    s[j]=s[j+1];
                    s[j+1]=t;
                }
            }
        }
    }
    int main(int argc,char*argv[])
    {
        int i,n;
        string s[5];
        n=5;
        for(i=0;i<n;i++){
          getline(cin,s[i]);
        }
        SortStr(s,5);
        for(i=0;i<n;i++)
        {
            cout<<s[i]<<endl;
        }
        return 0;
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部