编写一个C程序,输入a,b,c三个值,输出其中的最大者。
这是一个很简单的程序,但是首先要想清楚对于比较来说是会有很多种情况的,但是利用if和else语句可以节省很多判断,要理清楚自己的判断是否需要。这个问题的主要考察的是三个值的比较。
这个问题我想到两种方法:
第一种:用一个变量来存最大的那个值,先去判断a与b的大小,当a大的时候把变量的值置为a;在它的下面再去判断a如果小于c就把变量的值置为c。当a小的时候,把变量的值置为b;在它的下面再去判断b如果小于c就把变量的值置为c。
第二种也是用变量来存最大的值,但是比较方式有点不一样,先判断a大于b,变量置为a,否则置为b;然后拿变量接下来去跟c比较,小于c就置为c,否则就保持它的值不变。
第二种方法相对于第一种来说它的判断会少一个,然后代码会比第一种更简单,思路也会比第一种更简单。
第一种:
#include<stdio.h>
#include<assert.h>
char Best(int a,int b,int c)
{
assert(a != NULL);
assert(b != NULL);
assert(c != NULL);
int temp = 0;
if(a > b)
{
temp = a;
if(a < c)
{
temp = c;
}
}
else
{
temp = b;
if(b < c)
{
temp = c;
}
}
if(temp == a)
{
re