题目描述
例如:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
算这个有个最简单的算法。
(总脚数-总头数×鸡的脚数)÷(兔的脚数-鸡的脚数)=兔的只数
(94-35×2)÷2=12(兔子数) 总头数(35)-兔子数(12)=鸡数(23)
解释:让兔子和鸡同时抬起两只脚,这样笼子里的脚就减少了总头数×2只,由于鸡只有2只脚,所以笼子里只剩下兔子的两只脚,再÷2就是兔子数。
输入:
通过键盘输入总头数和总脚数
输出:
求出兔子有多少只,鸡有多少只,并输出。
样例输入:
请输入鸡和兔的总头数和总脚数,用空格隔开:
35 94
样例输出:
兔子个数:17,鸡的个数:5
请按任意键继续. . .
考虑输入有误,以及在oj上不识别中文或者多余输出的情况。
#include <stdio.h>
int main(void)
{
int head, foot, num1, num2;
printf("请输入鸡和兔的总头数和总脚数,用空格隔开:\n");
scanf("%d %d", &head, &foot);
if (foot % 2 == 1 || foot < head * 2)
{
printf("输入有误!\n");
return 0;
}
num1 = (foot - head * 2)/(4 - 2);
num2 = head - num1;
if ((num1 >= 0) && (num2 >= 0))
printf("兔子个数:%d,鸡的个数:%d\n", num1, num2);
else
printf("输入有误!\n");
return 0;
}