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

C语言编写鸡兔同笼的问题,第1张

#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语言鸡兔同笼等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9280073.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存