已知鸡与兔总数为n,总腿数为m,输入n,m,求鸡和兔的数目。
#include
int main()
{
int m,n,i,j,flag=0;
scanf("%d%d",&n,&m);
for(i=1;i<n;i++){
if(flag=1)
break;
for(j=1;j<n;j++){
if(m==i*2+j*4)
{
printf("%d %d\n",i,j);
flag=1;
break;
}
}
}
}
不知道为何运行不出来正确答案
第一:代码的思路不对,首先要保证鸡兔的数量i+j=n,再判断腿的数量是否等于m;
第二:是 if(flag = 1) 判断应用两个等号;
第三:鸡兔数量可能为零。
修改后的代码可参考如下代码:
#include<bits/stdc++.h>
int main()
{
int m,n,i,j,flag=0;
scanf("%d%d",&n,&m);
for(i=0;i<=n;i++)
{
j=n-i;
if(m==i*2+j*4)
{
printf("%d %d\n",i,j);
break;
}
}
}