c语言编程:鸡兔同笼:已知鸡和兔的总数量为n,总腿数为m,输入n和m,输出兔的数目。如果无解,

则输出“no answer”
2输入任意3个互不相等的整数,将其按从大到小的顺序输出。

第1个回答  2012-04-11
第一题的话我给你个高效率的算法吧,思想很简单,但略微奇葩了点,通过所有动物减去两只脚,剩下兔子还剩两只脚,来计算兔子数,然后也能得出鸡的数量,这个你看看吧:
#include<stdio.h>
main()
{
//为了你能简单的看懂,按照你给出的变量定义,并分开定义
int n; //总数量
int m;//总腿数
int sumt=0;//兔子的数量
int sumj=0;//鸡的数量
int sum=0;
printf("输入总数量:");
scanf("%d",&n);
printf("输入总腿数:");
scanf("%d",&m);
sumt=(m-2*n)/2;
sumj=n-sumt;
sum=sumt*4+sumj*2;
if(sum!=m || sumt<0 || sumj<0)
{
printf("no answer\n");
}
else
{
printf("鸡的数量%d,兔子的数量%d\n",sumj,sumt);
}

}
第二题就简单点吧,看注释:
#include<stdio.h>
main()
{
int a[3],k,i,j;
printf("输入第一个数:");
scanf("%d",&a[0]);
printf("输入第二个数:");
scanf("%d",&a[1]);
printf("输入第三个数:");
scanf("%d",&a[2]);
//这样子输入方便你理解,也可以这样解决 scanf("%d%d%d",&a[0],&a[1],&a[2]);
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
//这样循环的话效率低,但好在容易理解,也能解决int类型数量里面的数,多少个都成,但那时候不确定的话输入输出就要循环了
printf("%d>%d>%d/n",a[0],a[1],a[2]);
}追问

+_+,什么呀??不过还是谢谢你。

本回答被提问者采纳
第2个回答  2012-04-11
#include "stdio.h"
void main()
{
int m,n,i;
printf("Input total numbers:");
scanf("%d",&n);
printf("Input total legs:");
scanf("%d",&m);
for(i=1;i<=n;i++)
{
if(i*4+(n-i)*2==m)
{
printf("Rabits:%d\n",i);
break;
}
}
if(i>n)
printf("no answer\n");
}

c语言编程:鸡兔同笼:已知鸡和兔的总数量为n,总腿数为m,输入n和m,输出...
int n; \/\/总数量 int m;\/\/总腿数 int sumt=0;\/\/兔子的数量 int sumj=0;\/\/鸡的数量 int sum=0;printf("输入总数量:");scanf("%d",&n);printf("输入总腿数:");scanf("%d",&m);sumt=(m-2*n)\/2;sumj=n-sumt;sum=sumt*4+sumj*2;if(sum!=m || sumt<0 || sumj<0)...

鸡兔同笼 描述 已知鸡和兔的总数量为n,总腿数为m,输入n和m,输出兔...
int main(void){ int n;int m;int rabits = -1;printf("请输入部总的数量 ,和总的腿数:");scanf("%d%d",&n,&m);if(m%2==0){ rabits = m\/2-n;} if(rabits>0){ printf("免子的数目为:%3d\\n",rabits);} else{ printf("No answer\\n");} return 0;} ...

c语言算法,鸡兔同笼
总只数-鸡的只数=兔的只数,b = n - a。具体代码:include "stdio.h"int main() { int a,b,n, m;\/\/ a鸡的数量 \/\/ b兔的数量 \/\/ n鸡兔总数 \/\/ m总脚数 scanf("%d %d", &n,&m);a = (4 * n - m) \/ 2;\/\/算出鸡的数量 b = n - a;\/\/算出兔的数量 if (a ...

C语言:已知鸡兔总数量为n,总腿数为m。输入n,m,依次输出鸡和兔的数目...
include<stdio.h> int main(void) { int m,n,x=0,y=0; scanf("%d%d",&n,&m); if(m%2 != 0) printf("No answer\\n"); y = m\/2-n; x = n-y; if(x>=0&&y>=0) printf("%d只鸡,%d只兔",x,y); else printf("No answer\\n"); ...

已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目...
\/\/2x + 4y = m①\/\/x + y = n\/\/2x + 2y = 2n②\/\/①-② => 2y = m - 2n\/\/y = (m\/2)-2n\/\/x = n - y\/\/数学方法 C++#include <iostream>#include <cmath>using namspace std;const double eps = 1e-8;int main(){ int T; scanf("%d", &T); while(T--)...

描述 已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的...
int a,m,n;int chicken, rabbit;scanf("%d",&a);while(a--){ scanf("%d%d",&n,&m);rabbit = (m-(n<<1))>>1;chicken = n - rabbit;if(rabbit >= 0 && chicken >= 0 && rabbit+chicken==n && (rabbit<<2) + (chicken<<1) == m){ printf("%d %d\\n",chicken,rabb...

鸡兔同笼的问题 c语言怎么样编写
这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”程序如下:include <stdio.h> int main(){ int T; int n; ...

鸡兔同笼c语言程序鸡兔同笼c语言代码
1、#include main(){unsigned long int a,b,c,d;printf("这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)请输入鸡兔的总数"); scanf("%d",&a); printf("请输入鸡兔脚的总数");scanf("%d",&b); if(b%2 != 0) { printf("输入的鸡兔脚的总数有错误!")...

鸡兔同笼 c语言
include <stdio.h> int main(){ int m,n,i;scanf("%d%d",&n,&m);for(i=0;i<=n;i++){ if(2*i+4*(n-i)==m){ printf("%d %d\\n",i,n-i);} } return 0;}

c语言编程算鸡兔同笼怎么编写?
{ unsigned long int a,b,c,d;printf("这是一个用于算鸡兔同笼的小程序(仅能输入整数,使用回车键切换)\\n请输入鸡兔的总数");scanf("%d",&a);printf("\\n请输入鸡兔脚的总数");scanf("%d",&b);c=(4*a-b)\/2; \/\/ 鸡的数目 d=a-c; \/\/ 兔的数目 if(c*2+d*4==b) printf...

相似回答