题目描述:在调查市场上的鸡的价格后,得到了这样一个价格表:公鸡每只5块,母鸡每只3块,小鸡每3只一块。小明拿着妈妈给的钱money和价格表来到菜市场,出门之前小明妈妈嘱咐小明要买num只鸡(不分公鸡,母鸡,小鸡),并且花光所有的钱。请编写程序输出这几种买法.
输入描述:
一行输入两个正整数,钱money,数量num(0 < money ,num<=200)
输出描述:
每行输出三个正整数分别表示 公鸡数、母鸡数、小鸡数。若没有一种购买方式,则输出0。行末换行。
示例1:
100 100
0 25 75
4 18 78
8 11 81
12 4 84
示例2:
50 120
1 2 117
#include<stdio.h>
int main()
{
int a,b,c,m,n,i=1;
scanf("%d %d",&m,&n);
for(a=0;a<=n;a++)
{
for(b=0;b<=n;b++)
{
for(c=0;c<=3*n;c+=3)
{
if(n==a+b+c&&m==5*a+3*b+c/3)
{
printf("%d %d %d\n",a,b,c);
i=0;
}
}
}
}
if(i==1) printf("0\n");
return 0;
}
这是今天上机课上做的一道题,这道题看起来实际上并不难,我看完这个题之后立马就有了思路,然后开始写代码,写完之后运行之后却不是自己想要的结果,后来我仔细看代码,并没有问题,逻辑也没有问题,后来我室友也写出来了,我看他写的除了变量跟我的不一样,裸机是完全一模一样,但是结果就是不是我想要的,然后就卡了我半天,耽误了我做题的速度,然后我又重新敲过一遍,神奇的是得到的结果就是我想要的,然后我就非常搞不明白为什么,我室友他们也出现了类似的情况,可能是那个网站的编译器的原因吧,反正挺气人的。