C语言for循环实现鸡兔同笼,共有n个头,m条腿,求鸡和兔子各有多少只。
时间: 2024-02-25 21:55:50 浏览: 104
c语言:鸡兔同笼问题代码
好的,这是一道经典的数学问题,可以用 for 循环来实现。具体思路如下:
1. 鸡和兔子的数量都不能为负数,因此我们从 0 开始循环,分别假设鸡和兔子的数量为 i 和 j。
2. 根据题目所给的条件,鸡和兔子的数量之和必须等于总头数 n,因此我们可以用一个 if 语句来判断当前的 i 和 j 是否满足这个条件。
3. 如果满足条件,我们可以再用一个 if 语句来判断当前的 i 和 j 是否满足总腿数 m 的条件。
4. 如果也满足总腿数的条件,就说明我们找到了一个符合要求的解,可以输出鸡和兔子的数量。
具体实现代码如下:
```c
#include <stdio.h>
int main() {
int n, m;
printf("请输入总头数n和总腿数m:");
scanf("%d%d", &n, &m);
for (int i = 0; i <= n; i++) {
int j = n - i;
if (j < 0) break; // 兔子数量不能为负数
if (i * 2 + j * 4 == m) {
printf("鸡有%d只,兔子有%d只\n", i, j);
}
}
return 0;
}
```
注意,在这个代码中,我们用 break 语句来跳出循环,因为一旦兔子的数量为负数,就不需要再继续循环了。
阅读全文