问题标题:
编程,从键盘输入1个人的工资(1000—9999之间的整数),计算给这个人发工资时,需面值100元,50元,20元#includeintmain(){inta,b,c,d,e,f,g,n;scanf("%d",&n);for(a=99;a>=0;a--)for(b=199;b>=0;b--)for(c=499;c>=0;c--)for(d=999;d
问题描述:
编程,从键盘输入1个人的工资(1000—9999之间的整数),计算给这个人发工资时,需面值100元,50元,20元
#include
intmain()
{
inta,b,c,d,e,f,g,n;
scanf("%d",&n);
for(a=99;a>=0;a--)
for(b=199;b>=0;b--)
for(c=499;c>=0;c--)
for(d=999;d>=0;d--)
for(e=1999;e>=0;e--)
for(f=4999;f>=0;f--)
for(g=9999;g>=0;g--)
{
if(100*a+50*b+20*c+10*d+5*e+2*f+g==n)
printf("%d%d%d%d%d%d%dn",a,b,c,d,e,f,g);
}
}
为什么没有结果?应该改成什么样
高小新回答:
一、这么多的for语句循环需要很大的计算量,你等不到计算结果的.二、数值相加超过了整型的范围啦,改为长整型.三、一楼、三楼的回答都是对的.虽然一楼忙得没给你写完整.四、下面是减少了循环的一个示意,供参考.#includ...
点击显示
其它推荐
热门其它推荐