题目:
输入 a、b、c 三个值,输出其中最大值。
样例输入:
10 20 30
样例输出:
30
解题思路:
说实在话,这一题有很多方法可以解决。如果用 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;
参考代码:
先给 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; }
本地测试结果如下图:
0.0分
38 人评分
#include <iostream> using namespace std; int main() { int a,b,c,max; cout<<"please input a,b,c:"; cin>>a>>b>>c; cout<<"a="<<a<<" "<<"b="<<b<<" "<<"c="<<c<<endl; if (a<b) { max=b; if(b<c) { max=c; } else max=b; } else max=a; cout<<"max="<<max<<endl; return 0; }
这个代码不行吗,题目要求数组,俩if用一个三目运算符代替,然后提交显示答案错误 #include<stdio.h> int main() { int a[3],i,max=0; for(i=0;i<3;i++) { a[i]=0; } for(i=0;i<3;i++) { scanf("%d",&a[i]); max=a[i]>max?a[i]:max; } printf("这三个数中最大值为:%d",max); return 0; }
#include<stdio.h> int main { int a,b,c ; scanf("%d%d%d",&a,&b,&c); if(a>b>c or a>c>b) printf("%d",a); if(b>a>c or b>c>a) printf("%d",b); if(c>a>b or c>b>a) printf("%d",c); return 0; }错在哪里呢
#include<stdio.h> int main (void) { int a,b,c,d; scanf("%d%d%d",a,b,c); if(a<c&&b<c) d=c; else if(a<b&&c<b) d=b; else (b<a&&c<a) d=a; printf("%d",d); return 0; } 我想问一下为什么这个代码实现不了
Python: x,y,z=(input().split( )) max=x if y>x: max=y x,y=y,x if z>y: max=z z,y=y,z print(max)
uq_89471218477 2021-09-13 19:39:31 |
x,y,z=(input().split( )) max=x if y>x: max=y if z>y: max=z print(max)
#include<stdio.h> int main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>b&&a>c) printf("最大值是:%d",a); else if(b>a&&b>c) printf("最大值是:%d",b); else printf("最大值是:%d",c); return 0; }