回 帖 发 新 帖 刷新版面

主题:请大家帮我看一下这个小程序哪里错了

#include <iostream>
using namespace std;
const int a =1000 ;
const int b =100 ;
const int c =10 ;
  int main ()
{
    double change;
    int  x;
    cout<<"please enter a change"<<endl;
    cin>>change;
    cout<<endl;
    x=change/a;
    cout<<x<<endl;
    change=change%a;
    x=change/b;
    cout<<x<<endl;
    change=change%b;
    x=change/c;
    cout<<x<<endl;
    change=change%c;
    cout<<change<<endl;
    return 0;
}

回复列表 (共12个回复)

沙发

好像大问题没有,应该是数据类型要一致吧

板凳

change=change%a
change=change%b;
change=change%c;
在C++中取模运算 % 只能用在整型数之间
而你的change 是double类型

3 楼

恩  二楼朋友说的对 是这样的

4 楼

把你的double改为int

5 楼

#include "stdafx.h"
#include <iostream>
using namespace std;

const int a =1000 ;
const int b =100 ;
const int c =10 ;

int main(int argc, char* argv[])
{
    int change;
    int  x;
    cout<<"please enter a change"<<endl;
    cin>>change;
    cout<<endl;
    x=change/a;
    cout<<x<<endl;
    change=change%a;
    x=change/b;
    cout<<x<<endl;
    change=change%b;
    x=change/c;
    cout<<x<<endl;
    change=change%c;
    cout<<change<<endl;

    return 0;
}

这下就OK了,二楼说得很正确,mod运算是对整数而言的

6 楼

不过把change改成字符型也行,即char change 结果一样的,一般情况下,字符可直接写成与之对应的整数,so......char型结果一样

7 楼

^_^,不错!
[em2]

8 楼


谢谢大家小弟新来的,没想到第一次求助就有这么多热心的人帮我

9 楼

这个小题是我在去年快毕业那学期的开始,学了能有半个月的C++后编的,但是就坚持了半个月,后来就整天游戏去了,当时注册这个网站也就用了那一下吧,在论坛上求助了这个题。
从去年冬天快临近过年开始,(都毕业近半年了)又开始学C语言,其实我门上学时就开设过C语言,但是我因为脚伤,就去过一堂课,之前都在家里休养,当我又开始学C语言后,自然又碰到了些自己解决不了的小问题,于是,我就又开始找论坛了,当然那时我已经压根忘记了这个论坛,就又搜索搜到这个论坛了,当我注册时,竟然说我的邮箱已经在这注册过了,我这才想起我以前学过C++半个月,然后我又输入了注册任何网站一般会用的帐号 密码竟然真就进来了,呵呵
只是即使是现在,我已经全忘记了C++的输入输出,比如   cout<<change<<endl;我差不多全忘了C++是这样格式的
现在对这个题只有很细微的一点点印象了

10 楼

不同上次的是,这次我坚持学完了C,当然也就能做做课后的小练习题,还会出很多错误,得来这找高手指教
其实,我专业是电子信息的,以前打算走单片机方向,但是现在我发现我好象对计算机更感兴趣一点,现在我又借了《数据结构》(C语言版),我打算看下去,又有点迷失方向的感觉,现在在做跟单片机有关的工作,并不能学到很多东西,去年冬还把模拟电路又重温习了遍,可是跟实际应用差别还是很大,本来打算再温习数字电路,忘记了怎么会事就又温习起C来了
不知道整天学这个学那个的自己到底在做什么,但是现在学C是凭点兴趣学的,感觉做些题挺有意思的,特别是在这看到的些逻辑型的
不关怎么样,打算先把《数据结构》学完吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册