把一块钱兑换成1分2分5分的硬币,有多少种!C语言编程

2022-08-20 社会 54阅读
for(a=0; a <= 20; a++) {
for(b=0; b <= 50; b++) {
for(c=0; c <= 100; c++) {
if(a * 5 + b * 2 + c * 1 == 100)
printf("%d %d %d\n",a,b,c);
}
}
}
首先你的逻辑不对,c代表1分,也是要递增的,如果要像你那样写,c应该等于100-5*a-2*b
然后改成
for(a=0; a <= 20; a++) {
for(b=0; b <= 50; b++) {
c=100 - 5 * a - 2 * b;
if(c >= 0)
printf("%d %d %d\n",a,b,c);
}
}
其次你的for循环范围不对,for如果不加括号的话只执行后面一句,你把括号加上才可以把后面的if包括进去
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com