请问各位大神下面这几种情况是怎么回事啊?(嵌套循环)
#include<stdio.h>int main()
{
int b,c,d;//关于给出一个数值(单位:元),程序将给出由一角、两角、五角凑出来的答案;
int e=0;
float a;
float f;
printf("请输入一个数\na:");
scanf("%f",&a);
for(b=0;b<=a/0.1;b++)
{
for(c=0;c<=a/0.2;c++)
{
for(d=0;d<=a/0.5;d++)
{
f=0.1*b+0.2*c+0.5*d;
if(f==a)
{
printf("%.1f元可以由%d个一角钱和%d个两角钱和%d个五角钱组成\n",a,b,c,d);
}
}
}
}
return 0;}
1.当输入2的时候发现少了b=0,c=10,d=0;b=20,c=0,d=0这两种情况(b为一角钱的数量,c为两角钱的数量,d为五角钱的数量),这是什么原因啊?
2.当把自定义变量f去掉后,改为if(0.1*b+0.2*c+0.5*d==a)时,在输入a=2;为什么只输出b=0,c=0,d=4这一种情况啊?