注册 登录
编程论坛 C++教室

看到一个人发的帖子,找不到那有个人了,就回在这好了。其实我也不懂,求帮助。。。

msbfwz3 发布于 2012-09-05 23:09, 473 次点击
//题意:要求输入10个字符,求其中ASCII码值最大者。
#include<iostream>
using namespace std;

int main()
{
    const int NUM=10;  //定义常量
    int max,c;
    max=0;

    cout<<"请输入"<<NUM<<"个字符,系统将输出其中ASCII码最大者:"<<endl;
    for(int i=1;i<=NUM;i++)
    {   int b;
        cout<<i<<endl;
        cin>>b;        
        if(b>max)
          max=b;              
    }
    cout<<"其中ASCII码值最大者为:"<<max<<endl;

    return 0;
}
我输入的是:w
为什么输出结是:
1
w
2
3
4
5
6
7
8
9
10
其中ASCII码值最大者为:0
           
3 回复
#2
pangding2012-09-05 23:32
int b 然后 cin >> b 的时候输入 w 是不行的。因为 cin 想要读入一个 int。

#3
zhaojigao2012-09-06 16:35
#include<iostream>
using namespace std;
 
int main()
 {
     const int NUM=10;  //定义常量
     int max,c;
     max=0;
 
    cout<<"请输入"<<NUM<<"个字符,系统将输出其中ASCII码最大者:"<<endl;
     for(int i=1;i<=NUM;i++)
     {   char b;
         cout<<i<<endl;
         cin>>b;        
         if(b>max)
          max=b;              
     }
     cout<<"其中ASCII码值最大者为:"<<max<<endl;
 
    return 0;
 }

将程序改成这样就可以了,int型的数据输入char型的数据就错误了!
#4
msbfwz32012-09-06 18:00
回复 3楼 zhaojigao
了解,谢谢。
1