百鸡百钱程序带注解
我是个初学者,不知道写的好不好,也不知道是书上的简便还是我的简便,所以发出来让大家指点下,也把这个送给没解决这个问题人,上面的是我写的,下面的是书上的.
原题:百钱买百鸡 公鸡5块 母鸡3块 小鸡1块钱3个 问3种鸡个有多少只
我的思路是让程序达到累计和枚举的作用
程序1 我写的
void main()
{int a,b,c; /*变量a是公鸡b是母鸡c是小鸡*/
for(a=0;a <=19;a++) /*公鸡应该在0-19只之间*/
{for(b=0;b <=33;b++) /*母鸡应该在0-33只之间*/
{for(c=0;c <=100;c++) /*小鸡应在0-100只之间*/
if(a+b+c==100&&a*5+b*3+c/3==100) /*是否同时满足百钱与百鸡*/
printf( "a=%d b=%d c=%d\n ",a,b,c); /*输出3种鸡的数量*/
}
}
}
程序2 书上的
void main()
{int a=0,b,c; /*变量a是公鸡b是母鸡c是小鸡*/
while(a <=19) /*公鸡应该小于等于19只*/
{b=0; /*母鸡最少为0只*/
while(b <=33) /*母鸡应该小于等于33只*/
{c=100-a-b; /*满足100只和公鸡母鸡确定的情况下小鸡数量*/
if(5*a+3*b+c/3==100) /*鸡所花的钱数是否是百钱*/
printf( "a=%d b=%d c=%d\n ",a,b,c); /*输出3种鸡的数量*/
b++; /*母鸡递增*/
}
a++ /*公鸡递增*/
}
}
[解决办法]
程序1 容易明白.
程序2 效率上要好点.
[解决办法]
3元方程