c语言中的鸡兔同笼问题?

题目:鸡兔同笼,输入鸡和兔的头的数量,输入鸡和兔的脚的数量,计算出多少只鸡和多少只兔。(注意,提示脚的数量不能是奇数,脚的数量不能少于头的数量的两倍,脚的数量不能大于头的数量的4倍)
公式:
兔的数量=(脚的数量-2*头的数量)/2
鸡的数量=头的数量-兔的数量

问题:不知道中间注意事项那里的表达哪里错了,求解答,谢谢

问题代码:


#include<stdio.h>
int main()
{
    int a,b,c,d,m,n;
    printf("请输入鸡头、兔头、鸡脚、兔脚的数量:\n");
    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
        if(c%2!=0||d%2!=0||c<=2a||d<=2b||c>=4a||d>=4b)
           printf("enter the data is error!");
        else
        {
            n=((c+d)-2*(a+b));
            m=(a+b)-n;
        }
    printf("兔子的数量为n,鸡的数量为m\n",&n,&m);
    return 0;
    
}

鸡和兔的脚应该都为偶数,所以
1、if(c%2!=0||d%2!=0||c<=2a||d<=2b||c>=4a||d>=4b)
改为:
if(c%2!=0||d%2!=0||c<=2 * a||d<=2 * b||c>=4 * a||d>=4 * b)
=======================================================================================
2、printf("兔子的数量为n,鸡的数量为m\n",&n,&m);
改为:
printf("兔子的数量为%d,鸡的数量为%d\n",n,m);

img

img

#include<stdio.h>
int main()
{
int a,b,m,n;
printf("请输入鸡头+兔头、鸡脚+兔脚的数量:\n");
scanf("%d%d",&a,&b);
if(a>4b||b%2!=0)
printf("enter the data is error!");
else
{
//m+n=a,2m+4n=b
//n=a-m,2m+4
(a-m)=b

    m=0;
    while(m<a)
    {
        if(2*m+4*(a-m)==b)
        {
            break;
        }
        m++;
    }
    n=a-m;
    printf("兔子的数量为%d,鸡的数量为%d",n,m);
}
return 0;

}