c 语言: 用 while 写鸡兔同笼问题.
时间: 2024-05-03 10:16:44 浏览: 14
鸡兔同笼问题是一个经典的应用题,可以用 while 循环来解决。假设笼子里有 n 只鸡兔,脚的数量为 m。现在要求计算出笼子里有多少只鸡和兔。
首先,我们可以列出以下方程:
鸡 + 兔 = n
2 * 鸡 + 4 * 兔 = m
其中,第一个方程表示鸡和兔的总数为 n,第二个方程表示鸡和兔的脚的数量为 m。根据这两个方程,我们可以求出鸡和兔的数量。
下面是用 while 循环实现鸡兔同笼问题的代码:
```c
#include <stdio.h>
int main() {
int n, m;
int chicken = 0, rabbit = 0;
printf("请输入鸡兔总数和脚的总数:");
scanf("%d%d", &n, &m);
while (chicken <= n) {
rabbit = n - chicken;
if (2 * chicken + 4 * rabbit == m) {
printf("鸡的数量是:%d,兔的数量是:%d\n", chicken, rabbit);
break;
}
chicken++;
}
if (chicken > n) {
printf("无解!\n");
}
return 0;
}
```
在这个程序中,我们首先输入鸡兔总数和脚的总数。然后,我们使用 while 循环来依次枚举鸡的数量,计算出兔的数量,并检查是否满足鸡和兔的数量以及脚的数量的限制条件。如果找到了符合条件的解,则输出鸡和兔的数量;否则,输出无解。