C语言编程题:鸡兔鸭同笼问题

作者&投稿:楚震 (若有异议请与网页底部的电邮联系)
C语言编写鸡兔同笼的问题~

#include
int main()
{
int a,b,M,N;
printf("请输入鸡兔的总头数
");
scanf_s("%d",&a);
printf("请输入鸡兔的总腿数
");
scanf_s("%d",&b);
scanf_s("%d",&M);
M=(2*a)-(b/2);
printf("鸡的数目为%d只");
scanf_s("%d",&N);
N=(b/2)-(a);
printf("兔的数目为%d只");
return 0;
}
我目前是C语言的新手,目前只会做这一类。如果用的是VS(visual studio)编程的话,scanf后必须加_s,这是VS独有的,其他的编程软件随意。

#include
void main( )
{
int ret = 0; // 表示最后一个printf的返回值
while(1)
{
int h,f,c,r;
printf("请输入头的数目:");
scanf("%d",&h);
printf("
请输入脚的数目(必须为偶数):");
scanf("%d",&f);
while(f%2!=0 && f != 0 && h != 0) //这里的不等于的条件可以不加
{
printf("
输入脚的数目为奇数,请重新输入脚的数目(必须偶数):");
scanf("%d",&f);
if( f > 4h || f < 2h)
continue;
}

for(c=0;c<=h;c++)
for(r=1;r<=h;r++) //这句改成:for(r=0; r <= h-c; r++)好点,减少的循环的次数,加了效率
{
if(c+r==h&&2*c+4*r==f)
ret = printf("
鸡的数目为%d,兔子的数目为%d

",c,r);
}
if( ret == 39) /*作用是输入一次成功后,结束大循环, 可以不要*/
break;
}
}

无语了 仅供参考= =
#include<stdio.h>
void main()
{
int chicken,duck,rabbit;
int footSum,answerNum;
for(chicken=1,answerNum=0;chicken<=A;chicken++)
{
for(duck=1;duck<=A;duck++)
{
rabbit=A-chicken-duck;
footSum=chicken*2+duck*2+rabbit*4;
if(footSum==B)
printf("第%d个答案:笼子里鸡数量%d\t笼子里鸭数量%d\t笼子里兔子数量%d\n",answerNum);
}

哪有什么鸭啊,鸡兔同笼吧,这个关键就是脚数不一样。
题目:鸡兔同笼。已知鸡兔总头数为h,总脚数为f,求鸡兔各有多少只?
解法一:假设总头数h全部为鸡,程序如下:
#include <stdio.h>
void main()
...{
int j,t,h,f;
printf("Enter h&f:");
scanf("%d%d",&h,&f);
t=(f-2*h)/2; //用总脚数f减去鸡脚数2h
j=h-t; //用总头数减去兔子数,剩余的就是鸡数
printf("j=%d, t=%d ",j,t);
}
解法二:公式法,程序如下:
分析:j+t=h 2j+4t=f
由以上两个公式可得:
j=h-t;
f=2j+4t
=>2(h-t)+4t=f
=>2h-2t+4t=f
=>2h+2t=f
=>2t=f-2h
=>t=f/2-h

#include <stdio.h>
void main()
...{
int j,t,h,f;
printf("Enter h&f:");
scanf("%d%d",&h,&f);
t=f/2-h;
j=h-t;
printf("j=%d, t=%d ",j,t);
}

思路有问题
for(x=0,y=30;x+y==30,2*x+4*y==80;x++,y--)
当第一个循环时,x=0,y=30;2*x+4*y=120这是不成立的,所以跳出循环,不会有输出
我给你改了下,你试着理解
#include
int
main()
{
int
x,y;
for(x=0,y=30;2*x+4*y!=80;x++,y--);
printf("%d
%d",x,y);
}

main()
{
int h=20,int f=50;%(根据题目要求定义的A B)
for(i=1;i<h;i++)
{
int tuzi=h-i;
if(2*i+tuzi*4==f)
printf("鸡和兔的数量分别为%d%d “,i,c);
else i++;
}
}

main()
{
int h=20,int f=50;%(根据题目要求定义的A B)
for(i=1;i<h;i++)
{
int tuzi=h-i;
if(2*i+tuzi*4==f)
printf("鸡和兔的数量分别为%d%d “,i,c);
else i++;
}
}


...从下面数有144条腿,兔的只数是鸡的四分之三鸡鸭兔各有几只?_百度知...
Y鸡有X只 鸭Y只 兔Z只 则 头数:X+Y+Z=54 脚数:2X+2Y+4Z=144 兔是鸡的3\/4:3\/4X=Z 解三元三次方程得(过程略 可追问) X=24 Y=12 Z=18 则鸡有24 鸭有12 兔有18

鸡鸭兔共有34只。共有76条腿。其中鸭的数是鸡的2倍多3只,求鸡鸭兔各有...
设鸡有x只,那么鸭有(2x+3)只,兔有(34-x-2x-3)只,根据题意得 2x+2(2x+3)+4(34-x-2x-3)=76 2x+4x+6+124-12x=76 2x+4x-12x=76-6-124 -6x=-54 x=9 2x+3=21 34-9-21=4 答:鸡有9只,那么鸭有21只,兔有4只....

鸡鸭兔一共有20只五十条腿,已知鸭的只数是鸡的两倍问鸡鸭兔各有...
解:设鸡有X只,则鸭有2X只,兔有(20-X-2X)只,有题意得 2×(X+2X)+4×(20-X-2X)=50 6X+80-12X=50 6X=30 X=5 即鸡有5只,鸭有5×2=10只,兔有20-5-10=5只。

有一些鸡鸭兔一共22只,46条脚,其中鸭的数量是鸡的2倍,三种动物各是多少...
设鸡有x只,鸭有2x,所以兔子有22-2x只。所以一共有腿就是2x+4x+2×(22-2x)=46。解得x=1,所以鸡有1只,鸭2只,兔子22-3=19只。

有鸡鸭兔共20只总共有62条腿其中鸭的数量是七的两倍那么鸭有多少只?
设鸡有x只,鸭就是2x只,2x+2x×2+4×(20-x-2x)=62 2x+4x+80-4x-8x=62 12x-6x=80-62 6x=18 x=18÷6 x=3只 有鸡3只,有鸭:3×2=6只 有兔:20-3-6=11只

小英家养有鸡鸭兔共330只,其中鸡和鸭只数的比是7:5,而鸭的只数又比兔...
设鸭子的数量为5X只,则鸡的数量为7X只,兔子的数量为(5X-10)只。可得到方程[7X+5X+(5X-10)]=330 17X-10=330 17X=340 X=20 所以7X=140,5X=100,5X-10=90 可得 鸡的数量为140只,鸭的数量为100只,兔子的数量为90只

鸡鸭兔共95只、250n只脚、其中鸭比鸡的2倍多5只、问鸡、鸭、兔各有多...
兔有:(250-95x2)÷2 =(250-190)÷2 =60÷2 =30(只)鸡有:(95-30-5)÷(2+1)=60÷3 =20(只)鸭有:95-30-20=45(只)

兔鸭同笼,74个头,190条腿
1 设鸡x鸭y 则x+y=30 2x+4y=74 第二个式子-2*第一个式子得2y=14 所以y=7 x=23 2因为鸡鸭都只有一个头所以鸡鸭共30只 设鸡有x则鸭有30-x只 2x+4*(30-x)=74 2x+120-4x=74 46=2x x=23 所以鸡有23只,鸭有7只

一只鸡一只鸭一只兔和一条狗共重25.5千克。鸡鸭一样重,一只兔子的...
设鸡的重量X千克,则:鸭的重量为X千克 兔的重量为3X千克 狗的重量是12千克 故:X+X+3X+12X=25.5 17X=25.5 X=1.5 鸡、鸭的重量为1.5千克 兔的重量为4.5千克 狗的重量是18千克

聪聪家养了鸡鸭兔共88只鸡的只数是鸭的3倍兔的只数是鸭的4倍聪聪家里...
88÷(1+3+4)=11 11x3=33 11x4=44 聪聪家养了鸡鸭兔共88只鸡的只数是鸭的3倍兔的只数是鸭的4倍聪聪家里养了33只鸡11只鸭44只兔。

金寨县18060941647: C语言编程题:鸡兔鸭同笼问题 -
市肾养阴: 无语了 仅供参考= = #include<stdio.h> void main() { int chicken,duck,rabbit; int footSum,answerNum; for(chicken=1,answerNum=0;chicken<=A;chicken++) { for(duck=1;duck<=A;duck++) { rabbit=A-chicken-duck; footSum=chicken*2+duck*2+rabbit*4; if(footSum==B) printf("第%d个答案:笼子里鸡数量%d\t笼子里鸭数量%d\t笼子里兔子数量%d\n",answerNum); }

金寨县18060941647: 怎么用c语言编一个程序解鸡兔同笼题 -
市肾养阴: #include<stdio.h> int main() {double a,b,c,d;printf("请输入头的数量和脚的数量\n");scanf("%lf%lf",&a,&b);c=(4*a-b)/2;d=(b-2*a)/2;if(c>=0&&d>=0&&c==int(c)&&d==int(d))printf("鸡的数量=%.0lf 兔的数量=%.0lf",c,d);elseprintf("无解\n");return 0; }

金寨县18060941647: C语言 鸡兔鸭 笼子里有鸡兔鸭若干只,其总头数为17,脚的总数为50,求笼子里有鸡兔鸭各多少只. -
市肾养阴: 我觉得你的问题有问题,因为鸡鸭属于同类,都是一头两脚,所以你的问题应该是“鸡兔同笼,17头,50脚” 代码如下:#include<stdio.h> main() {int i;//i表示鸡的数量,17-i表示兔的数量; for(i=1;i<17;i++) { if(2*i+4*(17-i)==50) printf("%d %d\n",i,17-i); } }

金寨县18060941647: c语言编程算鸡兔同笼 -
市肾养阴: #include <stdio.h>#include <windows.h> main() { unsigned long int a,b,c,d; printf("这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数");scanf("%d",&a);printf("\n请输入鸡兔脚的总数"); scanf...

金寨县18060941647: 鸡兔同笼c语言编程选择结构 -
市肾养阴: 1 2 3 4 5 6 7 8 9 10 11//鸡兔同笼 #include <stdio.h>voidmain() {inttou = 30, jiao = 100; //预置头数、脚数 printf("tu = %d\n", jiao / 2 - tou); //得出兔数 printf("ji = %d\n", 2 * tou - jiao / 2); //鸡数 }

金寨县18060941647: c语言鸡兔同笼问题共有36头80只脚求最后结果 -
市肾养阴: #include <stdio.h> int main (void) {int chickens,rabbits,heads,feet; heads = 36; feet = 80; chickens = rabbits = 0; while(chickens<=36) { chickens++; rabbits = 36-chickens; if (chickens*2+rabbits*4 == 80) printf("鸡有%d只,兔有%d只!\n",chickens,rabbits); } return 0; }运行结果

金寨县18060941647: c语言编写这道题的程序 -
市肾养阴: #include void main() { int chick, rabit; for( chick =0;chick{ rabit=98-chick; if ( chick*2 + rabit*4 == 386 ) printf("chick=%d rabit=%d\n", chick, rabit ); } }

金寨县18060941647: C语言鸡兔同笼问题 -
市肾养阴: 数组定义错误.C语言中不能像这样定义变量a,然后定义数组m[a].这个错误导致了你程序运算的错误.修改方法:int m[a],n[a];改为int m[100],n[100]; 即不要用变量a,而用一个常数.只要保证输入的a不大于100就可以了. 如果想用变量作为数组的界限长度,要用到动态数组,不能用你现在的这种方法.

金寨县18060941647: 鸡兔同笼的问题 c语言怎么样编写 -
市肾养阴: 鸡兔同笼是中国古代的数学名题之一.大约在1500年前,《孙子算经》中就记载了这个有趣的问题.书中是这样叙述的:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面...

金寨县18060941647: c语言鸡兔同笼无解只输出一次 -
市肾养阴: #includeint main() { int m,n; //m只脚,n个头 int i,j; scanf("%d%d",&m,&n); for(i=0;i<=m/2;i++) { j = n-i; if(2*i+4*j==m) { printf("鸡有%d只,兔有%d只!\n",i,j); break; } } if(i>m/2) printf("输入的数据有误!\n"); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网