C语言比较3个数大小

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:39:46
#include "stdio.h"
main()
{
int a,b,c,max;
printf("\n Input 3 datas\n");
scanf("%d%d%d",&a,&b,&c);
max=maxs(a,b,c);
printf("\n MAX IS:%d\n\n\n\n",max);
}
int maxs(x,y,z)
int x,y,z;
{
int m,t;
if (x>y)
t=x;
else
t=y;
if (t>z)
m=t;
else
m=z;
return(m);
}
麻烦大家看看错没有啊。还有一个。说说这两个的区别
#include "stdio.h"
main()
{
int a,b,c,maxs;
printf("\n Input 3 datas\n");
scanf("%d%d%d",&a,&b,&c);
maxs=max(a,b,c);
printf("\n MAX IS:%d\n",maxs);
}
int max(x,y,z)
int x,y,z;
{
int m;
if(x>y)
y=x;
if(y>z)
m=y;
else
m=z;
return(m);
}
第2个就是少一个else
main()
{
int a,b,c,;
char max;
max=a;
if(b大于a) max=b;
if(c大于max) max=c; <

俩个算法都没问题,第一个是利用2个中间变量,先比较俩数,将较大值给t,在用t与剩下的数比,将较大的数给m,返回m
第二个直接将比较后较大的数交给其中一个参与比较的变量,在用这个变量进行下一次比较
俩种算法其实思想差不多,但第二种在资源利用上优于第一种

调用函数前应该先声明,主函数中加一句int max(int,int,int);

int max(x,y,z)
int x,y,z; //这句写在这里有没有问题我没试过,但我觉得应该在形参列表中定义
{
..
}
改:
int max(int x,int y,int z)
{
..
}

思路没有问题,第一个t多余,第二个好些
//你觉得这样是不是更好些?
int max(x,y,z)
int x,y,z;
{
if(x>y)
y=x;
if(y>z)
z=y;
return(z);
}

main()
{
int a,b,c,;
char max;
max=a;
if(b大于a) max=b;
if(c大于max) max=c;
printf("最大值为%c",max);
}
手机输入太慢,你多练习就会学好

就算法而言,你这个都对的!但写成程序,需要稍作修改。

第二种方法不好,不建议使用。

都对呀