c语言 鸡兔同笼

作者&投稿:汪萧 (若有异议请与网页底部的电邮联系)
C语言 鸡兔同笼问题~

#include
void main()
{ int a,b,c,d;
printf("这是一个用于算鸡兔同笼的小程序
请输入鸡兔的总数");
scanf("%d",&a);
if(a>=0)
{
printf("
请输入鸡兔脚的总数");
scanf("%d",&b);
if(b%2==1)
printf("脚的数量出现奇数,真奇怪啊!
");
else if(b=a*2)
{
c=(4*a-b)/2; // 鸡的数目
d=a-c; // 兔的数目
if(c*2+d*4==b)
printf("鸡有%ld只
兔有%ld只
",c,d); // c和d反了
else
printf("这个真难,计算机也没法算!
");
}
else
printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!
",a*2,a*4);
}
else
printf("数量不能为负!
");
}

#include <stdio.h>

void main()

{    int a,b,c,d;

printf("这是一个用于算鸡兔同笼的小程序
请输入鸡兔的总数"); 

scanf("%d",&a); 

if(a>=0)

{

printf("
请输入鸡兔脚的总数");

scanf("%d",&b);

if(b%2==1)

printf("脚的数量出现奇数,真奇怪啊!
");

else if(b<=a*4&&b>=a*2)

{

c=(4*a-b)/2; // 鸡的数目 

d=a-c;  // 兔的数目 

if(c*2+d*4==b)

printf("鸡有%ld只
兔有%ld只
",c,d); // c和d反了 

else

printf("这个真难,计算机也没法算!
");    

}

else

printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!
",a*2,a*4);    

}

else

printf("数量不能为负!
");    

}



#include<stdio.h>

int main()

{ int f,i;

  scanf("%d",&f);

  printf("鸡兔
");

  for(i=1;i<f/4;i++)

    printf("%d%d
",(f-4*i)/2,i);

 return 0;

}



#include int main() { int a,b; int j,t; printf("请输入有多少个头?\n"); scanf("%d",&b); printf("请输入有多少只脚?\n"); scanf("%d",&a); j=(b*4-a)/2; t=b-j; printf("鸡的只数是%d,兔的只数是%d\n",j,t); return 0; } 这样?

#include<stdio.h>
int main()
{
int h,f,i,a,b;
printf("请输入头的个数h和脚的个数f:\n");
while(scanf("%d%d",&h,&f)!=EOF)
{
for(i=0;i<=h;i++)
{
a=i;
b=h-i;
if(a*2+b*4==f)
break;
}
if(i<=h)
printf("鸡有%d只,兔有%d只。\n",a,b);
else
printf("无解。\n");
}
return 0;
}
EOF是文件末尾end of file的意思,也就是这个程序可以输入多组测试数据,如果默认有解那么把后面的if和else改成一句printf就可以了

大概过程如下:

void main()
{
int h,f,j,t;

printf(“\n请输入鸡兔总头数:”);
scanf(“%d”,&h);
printf(“\n请输入鸡兔总脚数:”);
scanf(“%d”,&f);
∥判断输入数正确性
if(f>4*t ll f<2*t f%2==0)
{ printf(”输入错误”);
return;
}
t=(f-2*t)/2; ∥计算兔子数
j=(4*t-f)/2; //计算鸡的数
printf("\n兔子数=%4d只",t);
printf("\n鸡的数=%4d只",j);
return;
}


岱岳区17318632812: 鸡兔同笼 C语言 -
酆怖肝素: #include "stdio.h" void main() { int sum,i,j,k=0,min,max,result[20]; printf("输入脚的总数:\n"); while(scanf("%d",&sum)!=1||sum%2!=0) printf("请重新输入:\n"); for(i=0;i<=sum/2;i++)//i表示鸡的数量 for(j=0;j<=sum/4;j++)//j表示兔子的数量 if...

岱岳区17318632812: 鸡兔同笼C语言 -
酆怖肝素: #include<stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); if ( b>4*a-2 || b<2*a+2 || (b-2*a)%2!=0 || (4*a-b)%2!= 0 || a<1 || b<1 )printf("Error\n"); elseprintf("%d %d\n",(4*a-b)/2,(b-2*a)/2); }

岱岳区17318632812: C语言鸡兔同笼问题 -
酆怖肝素: 数组定义错误.C语言中不能像这样定义变量a,然后定义数组m[a].这个错误导致了你程序运算的错误.修改方法:int m[a],n[a];改为int m[100],n[100]; 即不要用变量a,而用一个常数.只要保证输入的a不大于100就可以了. 如果想用变量作为数组的界限长度,要用到动态数组,不能用你现在的这种方法.

岱岳区17318632812: 鸡兔同笼C语言 -
酆怖肝素: 1、把scanf里面的\n删除掉2、判断或用||,不是|,所以if(temp>32768|temp32768||temp

岱岳区17318632812: 鸡兔同笼C语言 -
酆怖肝素: 1、把scanf里面的\n删除掉2、判断或用||,不是|,所以if(temp>32768|temp<0)改为if(temp>32768||temp<0)

岱岳区17318632812: C语言鸡兔同笼
酆怖肝素: 多次修改后面有个精减版的 #include &lt;stdio.h&gt; void main( ) { int ret = 0; // 表示最后一个printf的返回值 while(1) { int h,f,c,r; printf("请输入头的数目:"); scanf("%d",&amp;h); printf("\n请输入脚的数目(必须为偶数):"); scanf("%d...

岱岳区17318632812: 鸡兔同笼C语言设计 -
酆怖肝素: #include"stdio.h" int main() {int f,h;scanf("%d,%d",f,h);int chick,rabbit;rabbit=(f-2*h)/2;chick=(4*h-f)/2;printf("rabbit=%d\nchick=%d\n",rabbit,chick);return 0; }

岱岳区17318632812: c语言编程算鸡兔同笼 -
酆怖肝素: #include <stdio.h>#include <windows.h> main() { unsigned long int a,b,c,d; printf("这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\n请输入鸡兔的总数");scanf("%d",&a);printf("\n请输入鸡兔脚的总数"); scanf...

岱岳区17318632812: C语言 鸡兔同笼 -
酆怖肝素: #include <iostream> using namespace std; const int N=100; void main() { int n; cin>>n; int a[N]; for(int i=0; i<=n-1; i++) cin>>a[i]; for(i=0; i<=n-1; i++) { if(a[i]%2==1) cout<<"0 0"<<endl; else if(a[i]%4==0) cout<<a[i]/4<<" "<<a[i]/2<<endl; else cout<<(a[i]-2)/4+1<<" "<<a[i]/2<<endl; } } 把头文件和输入输出改成C的样式就可以了……

岱岳区17318632812: 鸡兔同笼c语言编程选择结构 -
酆怖肝素: 1 2 3 4 5 6 7 8 9 10 11//鸡兔同笼 #include <stdio.h>voidmain() {inttou = 30, jiao = 100; //预置头数、脚数 printf("tu = %d\n", jiao / 2 - tou); //得出兔数 printf("ji = %d\n", 2 * tou - jiao / 2); //鸡数 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网