解题思路1:

        如果说要解这道题,还是很简单粗暴的:

        本题的三个数比大小的要求就是,比另外两个数都大,即a>b和a>c同时满足。同时满足就是和:&&

if (a>b&&a>c) printf("%d",a);

        所以,写三条条件判断就可以了。

参考代码1:

#include<stdio.h>
int main()
{
  int a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  if (a>b&&a>c) printf("%d",a);
  if (b>a&&b>c) printf("%d",b);
  if (c>a&&c>b) printf("%d",c);
  return 0;
}


解题思路2:

        因为只要求最大值,不需要排序,所以,先两个数比较,第三个数只要跟前两个数中大的比,谁大就谁最大。

参考代码2:

#include<stdio.h>
int main()
{
  int a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  if (a>b) 
  {
      if (c>a) printf("%d",c);
      if (c<a) printf("%d",a);
  }
  if (b>a)
  {
    if (c>b) printf("%d",c);
    if (c<b) printf("%d",b);
  }
   return 0;
}


解题思路3:

        在2的思路上,改代码,就是擂台法,定义变量的时候多定义一个d,谁大谁是d:

参考代码3:

#include<stdio.h>
int main()
{
  int a,b,c,d;
  scanf("%d%d%d",&a,&b,&c);
  if(a>b) d=a;
  else d=b;
  if(c>d) d=c;
  printf("%d",d);
  return 0;
}



点赞(0)
 

0.0分

59 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 39 条评论

快乐水 2年前 回复TA
@艾斯 我服了啊我这样写是错的
云深不知处 2年前 回复TA
代码2不妥
a==b==c?
鸭脖不会C语言 2年前 回复TA
#include<stdio.h>
int main()
{
	int a;
    int b;
	int c;
	scanf("%d%d%d", &a, &b, &c);
	if(a<=b)
	a=b;
	if(a<=c);
	a=c;
	printf("%d",a);
	return 0;
}
Hiro 2年前 回复TA
@thiszwiner max 都不需要了,直接赋值a
艾斯 2年前 回复TA
#include <stdio.h>
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	if (a > b)
	{
		if (a > c)
			printf("%d", a);
		else
			printf("%d", c);
	}
	else if (a < b)
	{
		if (b > c)
			printf("%d", b);
		else
			printf("%d", c);
	}
	return 0;
}
AR983黯 2年前 回复TA
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
	int a, b, c, max;
	scanf("%d%d%d", &a, &b, &c);
	max = ((a > b ? a : b) > (b > c ? b : c) ? (a > b ? a : b) : (b > c ? b : c));
	printf("%d\n",max);
}
我感觉三目运算符是最易理解的
科成c语言大王 2年前 回复TA
#include<stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d%d%d",&a,&b,&c);
    d=a>b?a:b;
    d=d>c?d:c;
    printf("%d",d);
    return 0;
}
dotcpp0618929 2年前 回复TA
#include <stdio.h>

int main()
{
   int a,b,c,max;
   scanf("%d %d %d",&a,&b,&c);
   max=a;
   if(b>max){
    max=b;
   }if(c>max){
   max=c;
   }
   printf("%d",max);


}
208220404 2年前 回复TA
#include<stdio.h>
int main()
{
  int a,b,c;
  scanf("%d%d%d",&a,&b,&c);
  if (a>b&&a>c) printf("%d",a);
  if (b>a&&b>c) printf("%d",b);
  if (c>a&&c>b) printf("%d",c);
  return 0;
}
ld 2年前 回复TA
@thiszwiner 厉害