鸡兔同笼的问题 c语言怎么样编写

2021-07-28 03:05:22 字数 2524 阅读 6939

1楼:木澂

1、编写思路如下:

假设有x只鸡,y只兔,两者一共有m只头,n只脚,则有:

x + y = m ; 2 * x + 4 * y = n ;

即得到关系式,x + 2y =n/2 , x + y = m , y = n/2 - m , x = 2 * m - n/2。

2、**及注释如下:

#include

main ( )

int a, b ;

printf("请分别输入动物头与脚的数目:\n");

scanf("%d%d",&a,&b); //头数为a, 脚数目为b;

printf("一共有%d只鸡,%d只兔子\n",b/2-a,2 * a - b/2);

2楼:哇哎西西

鸡兔同笼是中国古代的数学名题之一。

大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

这四句话的意思是:

有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“no answer”

程序如下:

#include int main()

return 0;

3楼:阿豪呦

输入说明: 输入为两个正整数,第一个为 m 的值,第二个为 n 的值,用空格分隔。

输出说明: 若有解,输出两个整数,用空格分隔,第一个代表鸡的只数,第一个代表兔子的只数;若无解,直接输出一个 0。

算法:以列举法写程序,让计算机从鸡为0开始执行计算,利用循环语句计算大量次数后,得出最终结果。

具体程序为:

#include

int main()

}//for执行完表示找不到

printf("0");return 0;}

扩展资料:

鸡兔同笼问题算法有很多种,编写出的程序不尽相同。下面列举几种算法,编写程序会更为简单一些。

有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

(1)假设全是鸡:2×35=70(只),鸡脚比总脚数少:94-70=24 (只)

兔子比鸡多的脚数:4-2=2(只),兔子的只数:24÷2=12 (只),鸡的只数:35-12=23(只)

假设全是兔子:4×35=140(只),兔子脚比总数多:140-94=46(只)

兔子比鸡多的脚数:4-2=2(只),鸡的只数:46÷2=23(只),兔子的只数:=35-23=12(只)(2)设鸡有x只,兔有y只。解得

4楼:百度网友

#include "stdio.h"

void main()

}printf("请输入鸡与兔子的脚的总数\n");

while(scanf("%d",&b)!=1)}c=(4*a-b)/2;

d=a-c;

if(c>=0&&d>=0)

else printf("同学,我看你给的数有错吧!");

}else printf("同学,我看你给的数有错吧!");}

5楼:星月小木木

#include

int main()

6楼:匿名用户

我帮你编一个试试

假设有head个头和foot只脚 程序如下:

#include

void main()}

7楼:飞跃成都跃宇佳

#include

int main ()

else

x=(4*a-b)/2;

y=a-x;

if(2*x+4*y==b)

printf("鸡%d\n兔%d\n",x,y); //x表示鸡数,y表示兔数//

return 0;}

c语言编写鸡兔同笼的问题

8楼:匿名用户

#include

int main()

我目前是c语言的新手,目前只会做这一类。如果用的是vs(visual studio)编程的话,scanf后必须加_s,这是vs独有的,其他的编程软件随意。

9楼:cd打造

#include"stdio.h"

int main()

希望采纳

10楼:匿名用户

#include

int main()

}//for执行完表示找不到

printf("0");

return 0;}

11楼:魔法师00可可

#include

#define max 10

int main()

return 0;}

怎样用C语言编写有问有问答的题目

1楼 匿名用户 先定义一个变量a保存答案,再定义一个变量b用来接收用户输入用printf输出题目 再用scanf将用户输入的值保存到b中 再用if判断a与b的值 相等用printf输出对了,else 用printf输出错了 c语言中我如果看到一个题目 我该如何着手去编写程序 2楼 匿名用户 面向过程...

计算sinx的值,c语言编程问题

1楼 匿名用户 include include include int fact int n double mysin double x return sum int main int argc char argv 2楼 匿名用户 include 计算 x n double fun1 int x i...

C语言1!+2!+320!。怎么编写

1楼 吴桐水 include stdio h double factorial int n else return result int main void 结果 2561327494111820300 2楼 漫步联盟 include int main printf t lf n t sum sum...