C语言编写鸡兔同笼的问题

鸡兔同笼,笼中共有 M 只头,N 只脚,编写程序求鸡和兔子各有多少只。

输入说明:
输入为两个正整数,第一个为 M 的值,第二个为 N 的值,用空格分隔。
输出说明:
若有解,输出两个整数,用空格分隔,第一个代表鸡的只数,第一个代表兔子的只数;若无解,直接输出一个 0

#include<stdio.h>
int main()
{
int a,b,M,N;
printf("请输入鸡兔的总头数\n");
scanf_s("%d",&a);
printf("请输入鸡兔的总腿数\n");
scanf_s("%d",&b);
scanf_s("%d",&M);
M=(2*a)-(b/2);
printf("鸡的数目为%d只");
scanf_s("%d",&N);
N=(b/2)-(a);
printf("兔的数目为%d只");
return 0;
}
我目前是C语言的新手,目前只会做这一类。如果用的是VS(visual studio)编程的话,scanf后必须加_s,这是VS独有的,其他的编程软件随意。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
#include"stdio.h"
int main()
{
int M,N,x,y; /*x表示鸡数,y表示兔数*/
printf("请输入总头数和总脚数:");
scanf("%d%d",&M,&N);
x=(4*M-N)/2;
y=(N-2*M)/2;
if(x+y==M&&2*x+4*y==N) printf("%d %d",x,y);
else printf("0");
}
希望采纳本回答被网友采纳
第2个回答  2013-02-25
#include <stdio.h>
int main()
{
int chicken,rabbit;//鸡,兔子
int M,N;//头,脚
printf("M=,N=");
scanf("%d %d",&M,&N);
for(chicken=0;chicken<=M;chicken++)//鸡的数量从0到总头数M尝试
{
if(chicken*2+rabbit*4==N)//如果总脚数与输入的总脚数相同
{
printf("%d %d",chicken,rabbit);//分别输出鸡、兔
return 0;//停止程序
}
}
//for执行完表示找不到
printf("0");
return 0;
}本回答被提问者采纳
第3个回答  2013-02-26
#include
#define MAX 10
int main()
{
int i,n,a[MAX];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
if(a[i]%2)
printf("0 0");
else
printf("%d %d",(a[i]%4)/2+a[i]%4,a[i]%2);
}
return 0;
}
第4个回答  2018-05-07
#include <stdio.h>
int main ()
{
int a,b,x,y;
printf("请输入多少个头");//a表示鸡兔总数,b表示鸡兔总脚数//
scanf("%d",&a);
printf("请输入多少个脚");
scanf("%d",&b);
if(b%2!=0||b<2*a||b>4*a)
{
printf("鸡兔总数不对!\n");
}
else
x=(4*a-b)/2;
y=a-x;
if(2*x+4*y==b)
printf("鸡%d\n兔%d\n",x,y); //x表示鸡数,y表示兔数//
return 0;
}