请帮我看看下面代码错误在哪
要求输入一个整数,输出这个整数各位数上的值之和
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x; //输入的数
int num; //各位上的值
int sum;
double pwr=0;
sum=0;
num=0;
cout<<"请输入一个整数:"<<flush;
cin>>x;
while(x/static_cast<int>(pow(10,pwr))>1)
{
pwr++;
}
while(x!=0)
{
num=x/static_cast<int>(pow(10,pwr));
sum=sum+num;
x=x%static_cast<int>(pow(10,pwr));
pwr=pwr-1;
}
cout<<sum<<endl;
cin.get();
cin.get();
return 0;
}
问题点数:20、回复次数:7Top
1 楼tyfostar(星)回复于 2006-03-04 11:39:26 得分 0
编译没问题,但结果不正确Top
2 楼yjm0105(流云)回复于 2006-03-04 11:57:52 得分 20
有什么错?Top
3 楼yjm0105(流云)回复于 2006-03-04 11:58:51 得分 0
我随便测试了几个数字,没发现错?Top
4 楼tyfostar(星)回复于 2006-03-04 12:09:20 得分 0
我在dev-c++下面测试,输入数字123时,结果为7(1+2+3==6)
输入1234时,结果为12(1+2+3+4==10)Top
5 楼yjm0105(流云)回复于 2006-03-04 12:17:31 得分 0
win2k+VC6:
input:123 output:6
input:1234 output:10
Top
6 楼tyfostar(星)回复于 2006-03-04 16:28:31 得分 0
难道是dex-c++的问题(xp sp2+dev-c++ ver 4.9.9.2)?-_-
Top
7 楼tyfostar(星)回复于 2006-03-04 20:41:18 得分 0
刚在VS2005中试过了 确实可以 但相同代码在dev-c++下还是错误 = =Top




