输入 a、b、c 三个值,输出其中最大值。
样例输入:
10 20 30
样例输出:
30
原题链接:输出 3 个数中的最大值 (点击阅读原文)
http://www.dotcpp.com/oj/problem1002.html
解题思路:
说实在话,这一题有很多方法可以解决。如果用 C 来实现,一般都是使用 if 来判断,说白了就是用两个 if else。
直接给出部分代码
if (a > b) //判断 a,b 哪个大,把大的数赋值给 x1
x1 = a;
else
x1 = b;
if (x1 > c) //判断 x1,c 哪个大
printf("%d", x1); //如果是 x1 大,输出 x1
else
printf("%d", c); //如果是 c 大,输出 c
如果用 C++ 来实现,那就有简单一点的做法, 还是先给出部分代码,这里涉及到 STL 算法,max 这个算法就是用来返回最大值的。
int x1 = max(a, b);
int x2 = max(x1, c);
cout << x2 << endl;
http://www.cplusplus.com/reference/algorithm/
先给 C 的代码
#include <stdio.h>
int main()
{
int a, b, c,x1;
scanf("%d%d%d",&a,&b,&c);
if (a > b) // 判断 a,b 哪个大,把大的数赋值给 x1
x1 = a;
else
x1 = b;
if (x1 > c) // 判断 x1,c 哪个大
printf("%d", x1); // 如果是 x1 大,输出 x1
else
printf("%d", c); // 如果是 c 大,输出 c
return 0;
}
再给 C++ 的代码
#include<iostream>
#include <algorithm>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
int x1 = max(a, b); // 把 a,b 中大的值赋给 x1
int x2 = max(x1, c); // 把 x1,c 中大的值赋给 x2
cout << x2 << endl; // 输出最大值
return 0;
}
本地测试结果如下图:
题图:Photo by Dmitri Popov on Unsplash