| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2380 人关注过本帖
标题:帮忙看下错的原因是什么,谢谢
只看楼主 加入收藏
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
结帖率:95%
收藏
已结贴  问题点数:10 回复次数:12 
帮忙看下错的原因是什么,谢谢
使用c++:有5个字符串,要求对它们按由小到大的顺序排列,用string方法
因为刚开始学,还不是很熟练,希望大家能帮我看一下,谢谢!!!!
#include <iostream>
#include <string>
using namespace std;
void sort(string s[5])
{   
    string *p1;
    int i;
    p1=s;
    for(i=0;i<4;i++)
    {
        if(p1[i]>p1[i+1])
        {
            p1=s[i];//这里为什么不行,原理是什么?
            s[i]=s[i+1];
            s[i+1]=p1;
        }
    }
    for(i=0;i<5;i++)
    cout<<s[5]<<endl;
}
int main()
{
    string s[5];
    int i;
    for(i=0;i<5;i++)
    cin>>s[5];
    sort(s);
    return 0;
}
搜索更多相关主题的帖子: include 字符串 
2015-03-25 09:50
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:3 
string temp;
temp=p1[i];
p1[i]=p1[i+1];
p1[i+1]=temp;
你需要重新设一个中间变量用于交换

一片落叶掉进了回忆的流年。
2015-03-25 10:15
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
#include <iostream>
#include <string>
using namespace std;
void sort(string s[5])
{   
    string *p1;
    string temp;
    int i;
    p1=s;
    for(i=0;i<4;i++)
    {
        if(p1[i]>p1[i+1])
        {
            temp=p1[i];
            p1[i]=p1[i+1];
            p1[i+1]=temp;
        }
    }
    for(i=0;i<5;i++)
    cout<<s[5]<<endl;
}
int main()
{
    string s[5];
    int i;
    for(i=0;i<5;i++)
    cin>>s[5];
    sort(s);
    return 0;
}
改了之后程序没错了,但是不能运行
2015-03-25 10:19
lu3664198
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:185
注 册:2014-11-16
收藏
得分:1 
for(i){
cout/cin s[5];
}
这是什么意思......

wwwwwww...~~;
本人为大一新生,说的不好不要拍我 ~ ( ̄~ ̄) ;
2015-03-25 10:20
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
cin>>s[5]  输入5个字符串
cout<<s[5]    输出比较后的5个字符串
2015-03-25 10:29
lu3664198
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:185
注 册:2014-11-16
收藏
得分:1 
回复 5楼 Vsnow
有s[5]这个字符串么...i有什么作用

wwwwwww...~~;
本人为大一新生,说的不好不要拍我 ~ ( ̄~ ̄) ;
2015-03-25 10:45
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
string s[5];这里定义了s[5]这个字符串
    int i;
    for(i=0;i<5;i++) 就像数组一样输入5个字符串
    cin>>s[5];
2015-03-25 10:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
学c 就好好学c 吧
学c++  就好好学习c++吧  建议别贪多

DO IT YOURSELF !
2015-03-25 13:34
lu3664198
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:55
专家分:185
注 册:2014-11-16
收藏
得分:2 
回复 7楼 Vsnow
你确定不是想写成
for i=0;i<5;i++
       cin/cout  s[i]

这样子?

wwwwwww...~~;
本人为大一新生,说的不好不要拍我 ~ ( ̄~ ̄) ;
2015-03-25 15:46
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
回复 8楼 wp231957
是上学期学了c,这学期学c++,
2015-03-25 19:49
快速回复:帮忙看下错的原因是什么,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017442 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved