
#include<stdioh>
int main()
{
int a,b,M,N;
printf("请输入鸡兔的总头数\n");
scanf_s("%d",&a);
printf("请输入鸡兔的总腿数\n");
scanf_s("%d",&b);
scanf_s("%d",&M);
M=(2a)-(b/2);
printf("鸡的数目为%d只");
scanf_s("%d",&N);
N=(b/2)-(a);
printf("兔的数目为%d只");
return 0;
}
我目前是C语言的新手,目前只会做这一类。如果用的是VS(visual studio)编程的话,scanf后必须加_s,这是VS独有的,其他的编程软件随意。
#include<stdioh>
int main()
{ int f,i;
scanf("%d",&f);
printf("鸡\t兔\n");
for(i=1;i<f/4;i++)
printf("%d\t%d\n",(f-4i)/2,i);
return 0;
}
多次修改后面有个精减版的
#include <stdioh>
void main( )
{
int ret = 0; // 表示最后一个printf的返回值
while(1)
{
int h,f,c,r;
printf("请输入头的数目:");
scanf("%d",&h);
printf("\n请输入脚的数目(必须为偶数):");
scanf("%d",&f);
while(f%2!=0 && f != 0 ) //加上一个输入0值继续的条件,这里的while 循环可以不要了,后面的两个循环,再加上if的判断条件,已经解决了这里不为偶数的问题(个人认为,验证过了)
{
printf("\n输入脚的数目为奇数,请重新输入脚的数目(必须偶数):");
scanf("%d",&f);
}
while(f<2h && h!= 0)//同上
{
printf("\n输入脚的数目过小,请输入脚的数目(必须偶数):");
scanf("%d",&f);
/ 在这里加上 if( f %2 != 0) continue; /
/作用是输入的不是偶数,就要重新输入 /
}
while(f>4h&&h!=0)//同上
{
printf("\n输入脚的数目过大,请输入脚的数目(必须偶数):");
scanf("%d",&f);
/ if( f % 2 != 0) continue; /
/作用同上/
}
for(c=0;c<=h;c++)
for(r=1;r<=h;r++) //这句改成:for(r=0; r <= h-c; r++)好点,减少的循环的次数,加了效率
{
if(c+r==h&&2c+4r==f)
ret = printf("\n鸡的数目为%d,兔子的数目为%d\n\n",c,r);
}
if( ret == 39) /作用是输入一次成功后,结束大循环, 可以不要/
break;
}
}
//
#include <stdioh>
void main( )
{
int ret = 0; // 表示最后一个printf的返回值
while(1)
{
int h,f,c,r;
printf("请输入头的数目:");
scanf("%d",&h);
printf("\n请输入脚的数目(必须为偶数):");
scanf("%d",&f);
while(f%2!=0 && f != 0 && h != 0) //这里的不等于的条件可以不加
{
printf("\n输入脚的数目为奇数,请重新输入脚的数目(必须偶数):");
scanf("%d",&f);
if( f > 4h || f < 2h)
continue;
}
for(c=0;c<=h;c++)
for(r=1;r<=h;r++) //这句改成:for(r=0; r <= h-c; r++)好点,减少的循环的次数,加了效率
{
if(c+r==h&&2c+4r==f)
ret = printf("\n鸡的数目为%d,兔子的数目为%d\n\n",c,r);
}
if( ret == 39) /作用是输入一次成功后,结束大循环, 可以不要/
break;
}
}
第一次见到这么乱的"C语言"
编程语言有自己的规则 不是想怎么写就怎么写的
多看看书 打好基础
你的程序严格来说是C++的 改好了
你可以参照一下
#include <iostream>using namespace std;
int main()
{
int a,b;
int c;
cout<<"请输入笼中头的数(35头);脚的数(94)"<<endl;
cin>>a>>b;
if (a==35 && b ==94)
{//b=(35-c)4+2c
c=(4a-b)/2;
cout <<"鸡:"<<c<<"只"<<"兔子:"<<35-c<<"只"<<endl;}
else
cout<<"不是叫你输入35和94么?重来!!!"<<endl;
}
#包括中
无效的主要()
{
整数鸡,兔;
的printf(“鸡\吨兔\ N”的);
的(鸡= 0;鸡<= 35;鸡+ +)
{
兔子= 35 - 鸡;
如果(8 兔肉+ 2 鸡== 94)的printf(“%d个\ T%D \ N”的,鸡,兔);
鸡兔同笼是中国古代的数学名题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”
程序如下:
#include <stdioh> int main()
{ int T; int n; int m;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
if((m-2n)>=0 && (m-2n)%2==0 && (4n-m)>=0 && (4n-m)%2==0)
printf("%d %d\n",(4n-m)/2,(m-2n)/2);
else
printf("No answer\n");
} return 0;
}
扩展资料:
C语言新手编程注意事项:
1、书写标识符时,忽略了大小写字母的区别。
2、忽略了变量的类型,进行了不合法的运算。
3、将字符常量与字符串常量混淆。
4、忽略了“=”与“==”的区别。
5、忘记加分号。
6、多加分号。
7、输入变量时忘记加地址运算符“&”。
8、输入数据的方式与要求不符。
参考资料来源:百度百科-C语言
就是鸡兔同笼
总头数为h,总脚数为f,求鸡兔各有多少只?
x+y=h,2x+4Y=f,设h=16,f=40,写出c语言程序代码
分析:头设为h,脚设为f,
鸡是两只脚,免为四只脚。
再设x为鸡的脚数,y为免的脚数。
则满足关系是
x2+y4=f
,
x+y=h;
算法采用穷举法,是将所有可能的结果全部穷举出来。
#include"stdioh"
void
main()
{
int
h,f,x,y;
scanf("%d,%d",&h,&f);
//输入头数和脚数
for
(x=1;k<=f;x++)
for
(y=1;y<=f;y++)
{
if
(x2+y4==h
&&
x+y==h)
printf("%d
%d\n",x,y);
//满足关系则输出结果
}
}
^
_
^
#include <stdioh>
void main()
{ int a,b,c,d;
printf("这是一个用于算鸡兔同笼的小程序\n请输入鸡兔的总数");
scanf("%d",&a);
if(a>=0)
{
printf("\n请输入鸡兔脚的总数");
scanf("%d",&b);
if(b%2==1)
printf("脚的数量出现奇数,真奇怪啊!\n");
else if(b<=a4&&b>=a2)
{
c=(4a-b)/2; // 鸡的数目
d=a-c; // 兔的数目
if(c2+d4==b)
printf("鸡有%ld只\n兔有%ld只\n",c,d); // c和d反了
else
printf("这个真难,计算机也没法算!\n");
}
else
printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!\n",a2,a4);
}
else
printf("数量不能为负!\n");
}
以上就是关于C语言编写鸡兔同笼的问题全部的内容,包括:C语言编写鸡兔同笼的问题、用C语言怎么打鸡兔同笼、C语言鸡兔同笼等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)