第一题的话我给你个高效率的算法吧,思想很简单,但略微奇葩了点,通过所有动物减去两只脚,剩下兔子还剩两只脚,来计算兔子数,然后也能得出鸡的数量,这个你看看吧:
#include
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
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] {
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
//这样循环的话效率低,但好在容易理解,也能解决int类型数量里面的数,多少个都成,但那时候不确定的话输入输出就要循环了
printf("%d>%d>%d/n",a[0],a[1],a[2]);
}
#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");
}