用c语言表示:

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:45:42
鸡兔同笼。提示你输入两个数字分别为鸡和兔的总头数,和鸡和兔的总脚数,
然后输出分析结果告诉你:共有鸡几只,兔几只。
比如输入分别为8 22。输出结果告诉你鸡5只兔3只。
并不是输入任意一组总头数和总脚数都可以算出鸡几只,兔几只。
比如输入8 19,输出结果要告诉你,该种情况是不可能的。
还有比如算出来的只数如果是负数那么也是不可能的。
考虑一下所有不可能的情况,然后当是不可能得到结果的情况是,
输出:该情况不存在,请重新输入。

可以用穷举法,因为可能有2种以上的可能所以用了2个循环,第一个循环用来确认答案是存在的,第二个循环用来确认所有可能
#include<stdio.h>
void main()
{
int head,leg;
int chilk,rabbit;
printf("please input the count of head and leg\n");
scanf("%d%d",&head,&leg);
for(chilk=0,rabbit=head;chilk<=head+1;chilk++,rabbit--)
{
if(2*chilk+4*rabbit==leg)
{
printf("the count meybe:chilk:%d,rabbit:%d\n",chilk,rabbit);
break;
}
if(chilk==head+1)
printf("the count you have put meybe wrong,try input again!\n");
}
for(chilk=chilk+1,rabbit=rabbit+1;chilk<=head;chilk++,rabbit--)
if(2*chilk+4*rabbit==leg)
printf("the count meybe:chilk:%d,rabbit:%d\n",chilk,rabbit);
}

main()
{
int ji,tou,jiao,sign;
sign=0;
scanf("%d%d",&tou,&jiao);
for(ji=1;ji<=tou;ji++)
if((ji*2+(tou-ji)*4)==jia