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

 
题目要求:输入a、b、c三个值,输出其中的的最大值。
思路:用比较运算符“?:”获得最大值,复制给变量max。通过max与a、b、c比较,输出显示最大值。

//输入a、b、c三个值,输出最大值
#include<stdio.h>
void main(){
	int a,b,c;	//定义三个变量,接收输入值
	int max;	//作为容器变量,并存放最后结果

	//输入三个值
	printf("please input the first number.na = ");
	scanf("%d",&a);
	printf("please input the second number.nb = ");
	scanf("%d",&b);
	printf("please input the third number.nc = ");
	scanf("%d",&c);

	//比较最大值
	max = a > b ? a : b;
	max = max > c ? max : c;

	//输出最大值
	if(max == a){
		printf("the max number is a : %dn",a);
	}else if(max == b){
		printf("the max number is b : %dn",b);
	}else if(max == c){
		printf("the max number is c : %dn",c);
	}else{
		printf("there are errors in the code!n");
	}

}
/**
*
*缺陷1:未对输入值进行范围限定;(int类型为16个bit,2个字节,范围是-32768~32767。)
*
*缺陷2:未对输出进行细化。(当a、b、c有相同值时应该进行相关提示。)
*
**/

当然,还有其他方法可以实现。对于多值比较大小,可以使用“冒泡法排序”和“选择法排序”中的第一步实现。这两方法可以再后面的排序方法时接触。
 
 

© 2013 – 2015, 李德涛博客. 版权所有.

发表评论

电子邮件地址不会被公开。 必填项已用*标注