快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言函数鸡兔同笼问题 c语言,鸡兔同笼

用C语言编写鸡兔同笼问题

#include

成都创新互联公司是一家集策划、设计、技术开发一体的专业网站建设公司,技术团队十年来致力于为客户提供企业网站定制,移动网站建设。经过多年发展,公司技术团队,先后服务了数千家客户,包括各类中小企业、上市公司、高校、政府。公司在过去十年的资源积累,追求并一直坚持,为客户打造更有价值的互联网平台。

stdio.h

void

main(

)

{

int

ret

=

0;

//

表示最后一个printf的返回值

while(1)

{

int

h,f,c,r;

printf("请输入头的数目:");

scanf("%d",h);

printf("\n请输入脚的数目(必须为偶数):");

scanf("%d",f);

while(f%2!=0

f

!=

h

!=

0)

//这里的不等于的条件可以不加

{

printf("\n输入脚的数目为奇数,请重新输入脚的数目(必须偶数):");

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==h2*c+4*r==f)

ret

=

printf("\n鸡的数目为%d,兔子的数目为%d\n\n",c,r);

}

if(

ret

==

39)

/*作用是输入一次成功后,结束大循环,

可以不要*/

break;

}

}

C语言 鸡兔同笼问题

#include stdio.h

void main()

{    int a,b,c,d;

printf("这是一个用于算鸡兔同笼的小程序\n请输入鸡兔的总数");

scanf("%d",a);

if(a=0)

{

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

scanf("%d",b);

if(b%2==1)

printf("脚的数量出现奇数,真奇怪啊!\n");

else if(b=a*4b=a*2)

{

c=(4*a-b)/2; // 鸡的数目

d=a-c;  // 兔的数目

if(c*2+d*4==b)

printf("鸡有%ld只\n兔有%ld只\n",c,d); // c和d反了

else

printf("这个真难,计算机也没法算!\n");

}

else

printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!\n",a*2,a*4);

}

else

printf("数量不能为负!\n");

}

想用c语言解答鸡兔同笼,怎么做?

鸡兔同笼问题,归根结底是一个数学问题。用C语言处理数学问题,无外乎两种方式。

假定头的数量为A, 脚的数量为B。

一、暴力求解:

//枚举鸡的数量

int flag = 0;

for(i = 0; i = A; i++) {

j = A - i;

if (i * 2 + j * 4 == B) {

flag = 1;

printf("ans is: %d, %d\n", i, j);

break;

}

}

if (flag == 0) {

puts("No answer!");

}

二、建立数学模型求解

鸡兔同笼问题是个二元一次方程组问题。

X + Y = A

2X + 4Y = B

X = (4A - B) / 2

Y = (B - 2A) / 2

转换成代码:

if ( (4 * A - B) % 2 == 0 (B - 2 * A) % 2 == 0) {

printf("ans is: %d, %d\n", (4 * A - B) / 2 , (B - 2 * A) / 2);

} else {

puts("No answer!");

}

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

#includestdio.h

int main()

{

int a,b,M,N;

printf("请输入鸡兔的总头数\n");

scanf_s("%d",a);

printf("请输入鸡兔的总腿数\n");

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独有的,其他的编程软件随意。


网页名称:c语言函数鸡兔同笼问题 c语言,鸡兔同笼
标题网址:http://6mz.cn/article/doijspj.html

其他资讯