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

求助关于一道编程题

m5jun 发布于 2011-04-15 11:18, 633 次点击
题目:从键盘上输入一个int型数,一个double型数,并进行比较后输出大者。
我的做法:
     #include <iostream.h>
void main()
{
    int a,double b,c;
    cout<<"enter:";
        cin>>a>>b;
        c=a-b;
        if(c>0)
            cout<<a<<endl;
        else
            cout<<b<<endl;
}

我输入1 1.23 后的结果是1;输入1 2.32后的结果是2;谁能告诉我为什么呀?
6 回复
#2
Lyone2011-04-15 11:36
程序代码:
     #include <iostream.h>
void main()
{
    int a,double b,c;
    //a后面应该是分号。你这个用逗号的话,b也被定义为整形的了。
    cout<<"enter:";
        cin>>a>>b;
        c=a-b;
        if(c>0)
            cout<<a<<endl;
        else
            cout<<b<<endl;
}
#3
m5jun2011-04-16 12:06
回复 2楼 Lyone
哥们,太感谢你了,我是C++新手,很多不懂,以后多多指教!
#4
lyj232011-04-16 12:10
这种方法看起来不太好,应该把结果算成double的!
最近运算符重载这章看多了,不知道简单的方法了。
可以用类型转换函数分别转换a,b使得他们类型统一!
好像可以 c=double(a)-b;
#5
lucky5635912011-04-17 08:18
这么简单的错误
#6
pangding2011-04-17 11:16
这个程序编译的时候没有错误吗?
#7
Lyone2011-04-18 08:54
回复 6楼 pangding
有个worning提示。估计LZ无视掉了
1