鸡兔同笼(C语言)

题目描述

例如:有若干只鸡兔同在一个笼子里,从上面数,有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;
}

猜你喜欢

转载自blog.csdn.net/weixin_42128813/article/details/81169126
今日推荐