1053:最大数输出
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
输入三个整数,数与数之间以一个空格分开。 输出一个整数,即最大的整数。
【输入】
输入为一行,包含三个整数,数与数之间以一个空格分开。
【输出】
输出一行,包含一个整数,即最大的整数。
【输入样例】
10 20 56
【输出样例】
56
说明:
主要考查switch多分支结构,可以使用嵌套switch解决。
思路分析:
判断a、b和c这3个数中谁最大,有不少方法。
如果一个数大于另两个数,则该数最大。利用这种思路可解决本题。
不过可能存在相等的情况,所以在判断时,要加上相等的情况。
数据类型:输入输出的都是整数,题目没有指明范围,一般默认选择int类型即可。
求解过程:
声明3个int类型变量a、b、c。
输入3个整数分别给变量a、b、c。
如果a大于或等于b,也大于或等于c,则输出a。
否则,如果b大于或等于a,也大于或等于c,则输出b。
否则,输出c。
参考代码 - C++:
// 方法1(swtich方法)
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
switch (a >= b && a >= c)
{
case 1: cout << a; break;
default:
switch (b >= a && b >= c)
{
case 1: cout << b; break;
case 0: cout << c;
}
}
return 0;
}
// 方法2(if方法)
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (a >= b && a >= c) cout << a;
else if (b >= a && b >= c) cout << b;
else cout << c;
return 0;
}
参考代码 - C语言:
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
switch (a >= b && a >= c)
{
case 1: printf("%d", a); break;
default:
switch (b >= a && b >= c)
{
case 1: printf("%d", b); break;
case 0: printf("%d", c);
}
}
return 0;
}