鸡兔同笼是中国古代的数学名题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”
程序如下:
#include <stdio.h>int main()
{ int T int n int m
scanf("%d",&T)
while(T--)
{
scanf("%d%d",&n,&m)
if((m-2*n)>=0 &&(m-2*n)%2==0 &&(4*n-m)>=0 &&(4*n-m)%2==0)
printf("%d %d\n",(4*n-m)/2,(m-2*n)/2)
else
printf("No answer\n")
} return 0
}
扩展资料:
C语言新手编程注意事项:
1、书写标识符时,忽略了大小写字母的区别。
2、忽略了变量的类型,进行了不合法的运算。
3、将字符常量与字符串常量混淆。
4、忽略了“=”与“==”的区别。
5、忘记加分号。
6、多加分号。
7、输入变量时忘记加地址运算符“&”。
8、输入数据的方式与要求不符。
参考资料来源:百度百科-C语言
#include <stdio.h>
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<=a*4&&b>=a*2)
{
c=(4*a-b)/2 // 鸡的数目
d=a-c // 兔的数目
if(c*2+d*4==b)
printf("鸡有%ld只\n兔有%ld只\n",c,d) // c和d反了
else
printf("这个真难,计算机也没法算!\n")
}
else
printf("输入鸡兔脚的数量范围不正确,正确的范围是%d--%d!\n",a*2,a*4)
}
else
printf("数量不能为负!\n")
}
#include<stdio.h>int main()
{
int a,b,M,N
printf("请输入鸡兔的总头数\n")
scanf_s("%d",&a)
printf("请输入鸡兔的总腿数\n")
scanf_s("%d",&b)
scanf_s("%d",&M)
M=(2*a)-(b/2)
printf("鸡的数目为%d只")
scanf_s("%d",&N)
N=(b/2)-(a)
printf("兔的数目为%d只")
return 0
}
我目前是C语言的新手,目前只会做这一类。如果用的是VS(visual studio)编程的话,scanf后必须加_s,这是VS独有的,其他的编程软件随意。