学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

求教

求教

1.输入一不含空格的字符串,将该字符串中的字符按从小到大的顺序输出。如输入“nihao”,则输出“ahino”.
这道看是很简单.但我就是做不出来.那位前辈能告诉我思路.
2.    捕鱼与分鱼    A B C D E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A第一个醒来,他将鱼分为5份,把多余的1条鱼扔掉,拿走自己的1份。B第二个醒来,也将鱼分为5份,把多余的1条扔掉,拿走自己的一份。C、D、E 依次醒来,也按同样的方法拿鱼。问他们合伙至少捕了多少鱼?
想不出来哦.
3完全数的条件是什么呢?

TOP

#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;
}

TOP

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;
答案当然就不正确了。。
Say goodbye to Windows.

TOP

是不是 if只管var=str[i]; 因为 有";"所以就截止了
而下面的两句 就是 小于的时候 所执行的

TOP

编译器不一样还是你们学的不一样。好多的看不懂啊!你们的输入输出和我们学的不一样。

TOP

字符 可以直接比较 ,比较的时候 是用他们的 ASC码进行比较 和数比较没什么区别

TOP

谢谢。

TOP

解第一道题!

//------------------------------------------------------------------
// 解答:输入一不含空格的字符串,将该字符串中的字符按从小到大的顺序输出。
// 如输入“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;
}

TOP

谢谢各位大哥们了,小弟感激不尽。

TOP

发新话题