| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 766 人关注过本帖
标题:大家看一下,这个程序把循环里的小于号改为大于号,为什么运行不了。程序的 ...
只看楼主 加入收藏
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
结帖率:77.78%
收藏
已结贴  问题点数:10 回复次数:8 
大家看一下,这个程序把循环里的小于号改为大于号,为什么运行不了。程序的目的就是要把三个字符串里的字母由小到大排列然后输出
#include<iostream>
#include<string>
using namespace std;
void fun(string a)
{ int i,j,n;
  char c;
  n=sizeof(a);
  for(j=n;j>=0;j--)
  for(i=0;a[i]!='\0';i++)
     { if(a[i]<a[i+1])
      {c=a[i+1];
       a[i+1]=a[i];
       a[i]=c;
      }
  }
  cout<<a<<endl;
}
int main()
{ string a,b,c;
  cout<<"input string"<<endl;
  cin>>a>>b>>c;
  fun(a);
  fun(b);
  fun(c);
  return 0;
}
搜索更多相关主题的帖子: include 大于号 字符串 字母 
2015-10-03 15:03
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
不明白为什么,总之就是不让对a[i+1]赋值
2015-10-03 17:17
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
回复 楼主 孤狼A组
#include<iostream>
#include<string>
using namespace std;
void fun(string a)
{ int i,j,n;
  char c;
  n=sizeof(a);
  for(j=n;j>=0;j--)
  for(i=1;a[i]!='\0';i++)
     { if(a[i]<a[i-1])
      {c=a[i-1];
       a[i-1]=a[i];
       a[i]=c;
      }
  }
  cout<<a<<endl;
}
int main()
{ string a,b,c;
  cout<<"input string"<<endl;
  cin>>a>>b>>c;
  fun(a);
  fun(b);
  fun(c);
  return 0;
}
这样可以运行
2015-10-03 17:19
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 楼主 孤狼A组
明白了,楼主的那个代码会让'\0'和前一个字符交换,这是不允许的
2015-10-03 17:23
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
收藏
得分:0 
回复 4楼 yangfrancis
有道理
2015-10-03 22:33
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
收藏
得分:0 
回复 4楼 yangfrancis
但是输入一个字母的ASCII肯定大于‘\0'  下面的赋值就不会执行呀
2015-10-03 22:44
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
收藏
得分:0 
回复 3楼 yangfrancis
你这个  挺好用的
2015-10-03 22:44
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
收藏
得分:0 
回复 4楼 yangfrancis
好吧 我晕了,这好像就解释了,那个问题。
2015-10-03 22:47
h1187647735
Rank: 2
来 自:湖北huang'g
等 级:论坛游民
帖 子:26
专家分:17
注 册:2014-11-19
收藏
得分:0 
数据本身就是以ASCII码形式存储在电脑中的,直接大于零就可以了吧,好像不需要加引号和转义符

努力学习   天天向上
2015-10-04 11:43
快速回复:大家看一下,这个程序把循环里的小于号改为大于号,为什么运行不了。程 ...
数据加载中...
 
   



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

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