程序1
```c
include
int main() {
int head, foot, chicken, rabbit;
printf("请输入头的总数和脚的总数: ");
scanf("%d %d", &head, &foot);
rabbit = (foot - 2 * head) / 2;
chicken = head - rabbit;
if (rabbit >= 0 && chicken >= 0 && foot == 4 * chicken + 2 * rabbit) {
printf("鸡的数量为: %d, 兔的数量为: %d\n", chicken, rabbit);
} else {
printf("无解\n");
}
return 0;
}
```
程序2
```c
include
int main() {
int heads, legs, chickens, rabbits;
printf("请输入鸡和兔的头数: ");
scanf("%d", &heads);
printf("请输入鸡和兔的脚数: ");
scanf("%d", &legs);
rabbits = (legs - 2 * heads) / 2;
chickens = heads - rabbits;
if ((legs % 2 != 0) || (rabbits < 0 || chickens < 0)) {
printf("无解\n");
} else {
printf("鸡的数量为: %d, 兔的数量为: %d\n", chickens, rabbits);
}
return 0;
}
```
程序3
```c
include
int main() {
int total_heads, total_feet;
int x, y;
printf("请输入总头数和总脚数: ");
scanf("%d %d", &total_heads, &total_feet);
x = 2 * total_heads - total_feet / 2;
y = total_feet / 2 - total_heads;
if (x >= 0 && y >= 0 && total_feet == 4 * x + 2 * y) {
printf("鸡的数量为: %d, 兔的数量为: %d\n", x, y);
} else {
printf("无解\n");
}
return 0;
}
```
程序4
```c
include
int main() {
int h, f, x, y;
printf("请输入总头数和总脚数: ");
scanf("%d %d", &h, &f);
x = 2 * h - f / 2;
y = f / 2 - h;
printf("总头数为: %d, 总脚数为: %d!\n", h, f);
printf("鸡一共: %d只, 兔子一共: %d只!\n", x, y);
return 0;
}
```
程序5
```c
include
int main() {
int a, b, c, d, m, n;
printf("请输入鸡头、兔头、鸡脚、兔脚的数量: ");
scanf("%d,%d,%d,%d", &a, &b, &c, &d);
if (c % 2 != 0 || d % 2 != 0 || c < 4 * a || d > 4 * b) {
printf("输入的数据是错误的!\n");
return 0;
} else {
n = ((c + d) - 2 * (a + b));
m = (a + b) - n;
printf("兔子的数量为: %d, 鸡的数量为: %d\n", n, m);
}
return 0;
}
```
这些程序都遵循了鸡兔同笼问题的基本数学原理,并通过输入头的总数和脚的总数来计算鸡和兔的数量。如果输入的数据满足问题的条件,程序将输出鸡和兔的数量,否则输出无解。你可以选择其中一个程序,并在C语言的编译器中运行它来求解鸡兔同笼问题。