注册 登录
编程论坛 新人交流区

[求助]这个程序出问题了

夜子 发布于 2007-10-05 23:20, 621 次点击
#include<iostream>
using namespace std;
int main()
{
int mul=1,i,t;
int he=0;//mul用来累计各位数字乘积,he用来累计各位数字和
int fan;//范围变量
cout<<"请输入范围"<<endl;
cin>>fan;
if(fan>0)

for(i=0;i<fan;i++)
{
t=i;//这里需要把每个带操作的i值放在另外一个变量里面来运算,因为要保证i是用来循环的变量。
while(t)
{
mul*=t%10;
he+=t%10;
t/=10;//整数/10的作用就是出去尾数那个数位。
}
if(he<mul)
cout<<"the numbers are"<<i<<endl;
}

return 0;
}
这个程序想要统计在1~fan范围内的数字有哪些是各位数字的和小于各位数字的积的,但是我执行后没有达到我的要求。请问大家我的程序哪里有错。谢谢了阿
13 回复
#2
coachard2007-10-05 23:23
初看了一下,mul和he没有及时初始化。。。
#3
福尔摩斯2007-10-05 23:26
以下是引用coachard在2007-10-5 23:23:01的发言:
初看了一下,mul和he没有及时初始化。。。

你的C++还没有初始化

#4
coachard2007-10-05 23:30
以下是引用福尔摩斯在2007-10-5 23:26:18的发言:

你的C++还没有初始化

可能是你的C++编译器比较先进,会在for循环内自动添加初始化语句。。。

#5
福尔摩斯2007-10-05 23:48
int mul=1

int he=0

你不但C++没有初始化,连眼睛都有白内障

#6
endaps2007-10-05 23:57
呵呵,幽默的人....
#7
coachard2007-10-06 00:00
以下是引用福尔摩斯在2007-10-5 23:48:01的发言:
int mul=1

int he=0

你不但C++没有初始化,连眼睛都有白内障

在新的一轮循环中,远古时代初始化的数据还能用的话,那你不是太先进,就是未开化。。。

#8
福尔摩斯2007-10-06 00:51
以下是引用coachard在2007-10-6 0:00:44的发言:

在新的一轮循环中,远古时代初始化的数据还能用的话,那你不是太先进,就是未开化。。。

什么叫“初始化”?

什么叫“赋值”?


我未开化没关系,你不要退化就好了
#9
夜子2007-10-06 14:01
谢谢大家。我已经搞定这个程序了
#10
nuciewth2007-10-06 14:07
的确如此.
应该是这两个变量没有及时更新.
初始化应该在for循环之内.
#11
logo07752007-10-06 15:00
不错.ipnu
#12
yjigesff2007-10-06 16:34
没有初始化
#13
climbtop2007-10-06 17:12
回复:(夜子)[求助]这个程序出问题了
ddddddddddddddd
#14
张行天下2007-10-06 22:11
kwyk i d j usrt
1