编程计算:鸡兔同笼,现共有25头,脚共有80只,求鸡兔各有多少只?

鸡兔同笼,现共有25头,脚共有80只,求鸡兔各有多少只? (5.c)

#include <stdio.h>
int main()
{
int i, chicken, rabbit, head, foot;
int x, y;

head = 25, foot = 80;
for(i = 0; i <= head; i++)
{
rabbit = i; //假设有i只兔子
chicken = head - rabbit; //如果有i只兔子的话,那么就有25 - i 只鸡
if(foot == 2 * chicken + 4 * rabbit) //如果 2 * 鸡 + 4*兔子 等于 80只脚
printf("chicken = %d, rabbit = %d\n", chicken, rabbit);
}
return 0;
}
PS:若有不明白的地方,可以追问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-20
当兔有 X 只, 鸡有 Y 只
1) X+Y = 25
2) 4X + 2Y = 80

X = 25 -Y
4( 25-Y) + 2Y = 80
100-4Y + 2Y = 80
100 - 2Y = 80
2Y = 20
Y = 10
所以, 鸡有 10 只,
因为鸡有 10 只, 所以兔有 15 只

验证 : 10 x 2 + 15 x 4 = 20 + 60 = 80追问

哥哥 这是编程~~

追答

甚麼语言 ? 这个是用 perl 写的, 给你参巧一下

# Let X be numbers of rabbits
# Let Y be numbers of chickens
$found = 0 ;
for $x ( 1..25 ) {
for $y ( 1..25 ) {
if ( $x * 4 + $y * 2 == 80) {
print "We found there are $x rabbits and $y chickens!";
$found = 1;
last;
}
}
last if $found
}

第2个回答  2013-03-20
#include <stdio.h>
void main(){
int i,j;
for(int x = 1; x < 25 ; x++){
for(int y = 1;y < 20 ; y++){
i=x + y,j = 2*x + 4*y;
if(i==25 && j==80)
printf( "x=%d\ny=%d\n",x, y);
}
}
}
第3个回答  2013-03-20
设鸡为 x 只,兔为 y 只
x + y =25
2x + 4y =80;
x = 10

y = 15追问

编程啊

追答

int x,y;
int i;
int j ;

for(x = 1; x < 25 ; x++){
for(y = 1;y < 20 ; y++){
i=x + y;
j = 2*x + 4*y

if(i==25 && j==80)
print( i, j);
else {
i = 0;
j = 0;
}

}

}

第4个回答  2013-03-20
int chicken = 0;
int rabbit = 0 ;
for(int i=0 ; i<25; i++){

int j =25-i;
if (i*4+j*2 == 80)
{
chicken=j;//鸡
rabbit =i; // 兔子
}

}
printf("chicken = %d, rabbit = %d\n", chicken, rabbit);
第5个回答  2013-03-20
鸡10只
兔15只
直接输入吧