首先分析一下,要定义四个数,以其中一个数作为跳板,与其余的三个数进行比较,不说了,直接是代码分析。
第一种
#include <stdio.h>
int main()
{
int a, b, c, max;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b)
max = (a > c) ? a : c;
else
max = (b > c) ? b : c;
printf("max=%d\n", max);
}
第二种
nt main()
{
int a, b, c, max;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b)
{
if (a > c)
max = c;
else
max + c;
}
else
{
if (b > c)
max = b;
else
max = c;
}
printf("max=%d\n", max);
来,开始分析:第一种
接下来就用到数学思维:
假设a>b成立,
在比较a和c,
1、若a再大于c,则a>b也有a>c,则a最大
2、若a小于c,则有c>a>b,则c最大
若a>b没成立。即a<b
在比较b和c,
1、若b>c成立,则b>c和 b>a,则b最大
2、若b<c,则有a<b<c,则c最大
这样就可以找出三个数中的最大值了。
第二种就把上面那个怎样转换的知识点搞懂,你就明白了。
注:vs2019中用scanf_s的知识点若有需要,之后再写。