X 我知道了TIPS:左右滑动导航栏可以查看更多栏目
公鸡5元一只,母鸡3元一只,小鸡一元3只,100元买一百只鸡,公鸡、母鸡、小鸡各几只?
用C语言怎样写才能算出结果。
>> 本文固定链接: http://www.vcgood.com/archives/2318
>> 转载请注明: nelves 2008年05月01日 于 C语言帝国 发表
附上答案:
1.公鸡0只 母鸡25只 小鸡75只 2.公鸡4只 母鸡18只 小鸡78只 3.公鸡8只 母鸡11只 小鸡81只 4.公鸡12只 母鸡4只 小鸡84只
#include <stdio.h>void main(){ int gj,mj,xj,gjq,mjq,xjq,totalq,total; /*gj mj xj 是公鸡母鸡和小鸡数,gjq mjq xjq是各鸡所花钱,后面两个total和totalq也一样*/
for(gjq=0,gj=0;gjq<=100;gjq+=5){ for(mjq=0,mj=0;mjq<=100;mjq+=3){ for(xjq=0,xj=0;xjq<=100;xjq++){ totalq=gjq+mjq+xjq; total=gj+mj+xj;
if(totalq==100&&total==100){ printf(“gj=%d,mj=%d,xj=%d\n”,gj,mj,xj); }
xj+=3; } mj++; } gj++; }
getch();}
太感谢了,程序复杂我慢慢研究一下~~
俗称百钱买鸡问题
看看这样行吗?
main()
{
int x,y,z; /*x,y,z分别代表公鸡,母鸡,小鸡的数量*/
for(x=0;x<=19;x++)
for(y=0;y<=33;y++)
for(z=0;z<=100;z++)
if(x+y+z==100&&5.0*x+3.0*y+z/3.0==100)
printf(“%d %d %d\n”,x,y,z);
}
sure!
有收获。谢谢
第二个好像效率不高吧
你必须先 登录才能发表评论。
附上答案:
1.公鸡0只 母鸡25只 小鸡75只
2.公鸡4只 母鸡18只 小鸡78只
3.公鸡8只 母鸡11只 小鸡81只
4.公鸡12只 母鸡4只 小鸡84只
#include <stdio.h>
void main()
{
int gj,mj,xj,gjq,mjq,xjq,totalq,total; /*gj mj xj 是公鸡母鸡和小鸡数,gjq mjq xjq是各鸡所花钱,后面两个total和totalq也一样*/
for(gjq=0,gj=0;gjq<=100;gjq+=5){
for(mjq=0,mj=0;mjq<=100;mjq+=3){
for(xjq=0,xj=0;xjq<=100;xjq++){
totalq=gjq+mjq+xjq;
total=gj+mj+xj;
if(totalq==100&&total==100){
printf(“gj=%d,mj=%d,xj=%d\n”,gj,mj,xj);
}
xj+=3;
}
mj++;
}
gj++;
}
getch();
}
太感谢了,程序复杂我慢慢研究一下~~
俗称百钱买鸡问题
看看这样行吗?
main()
{
int x,y,z; /*x,y,z分别代表公鸡,母鸡,小鸡的数量*/
for(x=0;x<=19;x++)
for(y=0;y<=33;y++)
for(z=0;z<=100;z++)
if(x+y+z==100&&5.0*x+3.0*y+z/3.0==100)
printf(“%d %d %d\n”,x,y,z);
}
sure!
有收获。谢谢
第二个好像效率不高吧