| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 861 人关注过本帖
标题:求教
只看楼主 加入收藏
WJbobo
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2008-4-10
结帖率:76.92%
收藏
 问题点数:0 回复次数:8 
求教
1.输入一不含空格的字符串,将该字符串中的字符按从小到大的顺序输出。如输入“nihao”,则输出“ahino”.
这道看是很简单.但我就是做不出来.那位前辈能告诉我思路.
2.    捕鱼与分鱼    A B C D E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A第一个醒来,他将鱼分为5份,把多余的1条鱼扔掉,拿走自己的1份。B第二个醒来,也将鱼分为5份,把多余的1条扔掉,拿走自己的一份。C、D、E 依次醒来,也按同样的方法拿鱼。问他们合伙至少捕了多少鱼?
想不出来哦.
3完全数的条件是什么呢?
搜索更多相关主题的帖子: 字符 nihao 完全数 ahino 
2008-05-14 14:45
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
#include<iostream>
#include<string>
using namespace std;

int main(){
  string str="0";
  cout<<"请输入字符串:";
  getline(cin,str);
  char var='0';
  for(int i=0;i!=str.size();i++)
    for(int j=i+1;j!=str.size();j++){
      if(str[i]>str[j]){               //如果去掉if两边的"{"话 输出就不正确 不知道 为什么?
        var=str[i];
        str[i]=str[j];
        str[j]=var;
        }
    }
    cout<<str<<endl;
    getchar();
    system("pause");
    return 0;
}
2008-05-14 16:48
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
if(str[i]>str[j]){               //如果去掉if两边的"{"话 输出就不正确 不知道 为什么?
for的意思是如果:str[i]<=str[j],则continue.
str[i]>str[j]时:var=str[i];
        str[i]=str[j];
        str[j]=var;
你如果去掉if{...}中的{.........},那么当str[i]<=str[j]时,还会执行这两句: str[i]=str[j];
        str[j]=var;
答案当然就不正确了。。

i like linux...
2008-05-14 16:59
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
是不是 if只管var=str[i]; 因为 有";"所以就截止了
而下面的两句 就是 小于的时候 所执行的
2008-05-14 17:40
WJbobo
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2008-4-10
收藏
得分:0 
编译器不一样还是你们学的不一样。好多的看不懂啊!你们的输入输出和我们学的不一样。
2008-05-15 09:48
忘记喧嚣
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-10-7
收藏
得分:0 
字符 可以直接比较 ,比较的时候 是用他们的 ASC码进行比较 和数比较没什么区别
2008-05-16 13:21
WJbobo
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2008-4-10
收藏
得分:0 
谢谢。
2008-05-30 10:39
zzy840208
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-4-16
收藏
得分:0 
解第一道题!
//------------------------------------------------------------------
// 解答:输入一不含空格的字符串,将该字符串中的字符按从小到大的顺序输出。
// 如输入“nihao”,则输出“ahino”.
//                                                        ---zzy
//                                                        2008.5.31
//---------------------------------------------------------------------

#include <iostream>
#include <string>
using namespace std;

int main()
{
    cout<<"Please input a string:"<<endl;
    string str;
    cin>>str;
    
    for(int i=str.size();i>0;--i)     //用冒泡排序
        for(int j=0;j<i-1;++j)
        {
            if(str[j]>str[j+1])
            {
                char temp=str[j+1];
                str[j+1]=str[j];
                str[j]=temp;
            }
        }
    cout<<str<<endl;

    return 0;
}
2008-05-31 23:14
WJbobo
Rank: 1
等 级:新手上路
帖 子:85
专家分:3
注 册:2008-4-10
收藏
得分:0 
谢谢各位大哥们了,小弟感激不尽。
2008-06-04 10:11
快速回复:求教
数据加载中...
 
   



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

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