输入a,b,c三个值,输出其中最大值。
程序员文章站
2024-03-16 20:20:22
...
接收三个数值并输出其中最大值
- 接收三个数值,并输出最大值
#include <stdio.h>
int main()
{
int max(int x, int y, int z);//定义一个需要被调用的函数
int a,b,c,e; //定义需要接收并输出的变量
scanf("%d,%d,%d",&a,&b,&c); //接收需要比较的数值
e = max(a,b,c); //将max函数得到的值赋给变量e
printf("max=%d",e); //输出最大值
return 0;
}
int max(int x, int y, int z) //定义要调用的函数
{
int d; //定义要接收最大值的变量
if(x>y && x>z) d=x; //如果X大于y和z,则最大值x赋给d
else if (y>z && y>x) d=y; //如果y大于x和z,则最大值y赋给d
else d = z; //否则,最大值z赋给d
return d; //将最大值d返回给调用函数max
}
- 简洁式求三个数最大值
#include <stdio.h>
int main()
{
int max(int x, int y);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(max(a,b),c);
printf("max=%d",d);
return 0;
}
int max(int x, int y)
{
if(x>y) return x;
return y;
}
小结
这是我今天在书上看到的一道题目,书上的例题是求两个数的最大值。然后我在做题的过程中不管怎么算,求出来的结果都是输入的第一个数,怎么都找不到问题所在。然后也查了查网上的大神是如何解答的。于是我就照着大神的照猫画虎,结果还是不行,我都要崩溃了。最后的最后,我发现了问题。在我接收三个数值的那句语句中出现了问题。当时的语句是这样的
scanf("%d %d %d ",a,b,c);
可能是因为自己写代码时候疏忽了,本来应该“%d”后面跟的是“,”,结果我写的是空格。然后在输入的过程中,我输入的又是
导致自己纠结了半天,都没搞明白是怎么错的。
所以感觉以后敲代码要细心去敲,不然这种微小的地方真的是很难发现。
上一篇: 向量几何在游戏编程中的使用1
下一篇: Unity 鼠标控制相机旋转移动