伪君子


私信TA

用户名:lbj

访问量:93008

签 名:

我觉得吧,能实现就好^_^

等  级
排  名 46
经  验 12172
参赛次数 0
文章发表 23
年  龄 20
在职情况 学生
学  校 山西工程技术学院
专  业

  自我简介:

个人博客:https://lbjheiheihei.xyz 微信公众号:伪君子的梦呓


题目:


输入 a、b、c 三个值,输出其中最大值。


样例输入:


10 20 30


样例输出:


30

chrome_2018-06-22_20-51-30.png

解题思路:


说实在话,这一题有很多方法可以解决。如果用 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;
}


本地测试结果如下图:Project4_2018-06-22_21-50-19.png

 

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;	   
}
2022-01-16 20:19:08
这个代码不行吗,题目要求数组,俩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;
 }
2021-10-09 11:38:52
为啥代码和你的一样提交后还是错误?
2021-10-04 00:00:07
#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;
}错在哪里呢
2021-09-28 21:48:13
#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;
}
我想问一下为什么这个代码实现不了
2021-09-19 22:48:43
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)
2021-09-13 19:33:01
#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;
}
2020-05-14 13:07:32
cout<<"最大值="<<max;
才知道 加上中文算错。。。。
2020-02-19 09:07:06