这c程序错在哪?

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:01:44
题目:编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的数的和
我的程序:
#include"stdio.h"
main()
{
int a,b,c,d,s=0;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
{if ((a*1000+b*100+c*10+d)%2==0&&(a+b+c+d)%15==0)
s =s+(a*1000+b*100+c*10+d);

} ;

printf("%d",s);

getch();
}

由于上面的INT定义出了范围,所以就不能显示出正确的答案,而只能用长整型,即long进行定义就OK了。不过别忘了,在最后输出时也应该改一下才行的啊!如果还没对就再找我啦!

你知道int的范围是多少吗??我记得对的话是-32767到32768,如果你有10000个千位数,是不是s就超出范围了。。。建议好好学习基础啊。。。基础最要紧。。不要急着编

int改为long或double