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包括进去