找出3个数中的最大值。

描述

找出3个数中的最大值。

输入

随机输入3个整数

输出

输出这3个整数的最大值

输入样例 1 

15 7 28

输出样例 1

28

输入样例 2 

57 68 45

输出样例 2

68

①最简单:if语句(选择结构)

#include 
using namespace std;
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	if (a > b)
	{
		if (a > c)cout << a;
		else cout << c;
	}
	else        //a c)  cout << b;
		else cout << c;
	}
	return 0;
}


②运用条件运算符( ? :)

#include 
using namespace std;
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	int max;
	max = (a > b) ? a : b;
	max = (max > c) ? max : c;
	cout << max;
	return 0;
}

条件运算符要求有3个操作对象,称为三目(元)运算符,它是C++中唯一的一个三目运算符。

条件表达式的一般形式:表达式1?表达式2:表达式3

条件运算符的执行顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。

③函数的调用

#include 
using namespace std;
int max(int, int, int);      //对函数的外部声明,作用域是整个文件
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	cout << max(a,b,c);      //函数的调用
	return 0;
}
int max(int a,int b,int c)       //函数的定义
{
	int max;
	if (a > b)
	{
		if (a > c) max=a ;
		else max=c;
	}
	else
	{
		if (b > c)max=b;
		else max=c;
	}
	return max;

	//int max;
	//max = (a > b) ? a : b;
	//max = (max > c) ? max : c;
	//return max;
}
#include 
using namespace std;
void max();
int main()
{
	int a, b, c;
	max();
	return 0;
}
void max()
{
	int a, b, c;
	cin >> a>>b>>c;
	int max;
	if (a > b)
	{
		if (a > c) max=a ;
		else max=c;
	}
	else
	{
		if (b > c)max=b;
		else max=c;
	}
	cout << max;

	//int max;
	//max = (a > b) ? a : b;
	//max = (max > c) ? max : c;
	//cout<

 按理说是可以用定义无参函数(如上)来运行,但是个人感觉没必要;

问题点:

1、在定义有参函数时,必须在函数首部指定形参的类型。

2、在调用函数时,大多数情况下,函数是带参数的,主调函数和被调用函数之间有数据传递关系。

3、无参函数。调用函数时不必给出参数,主调函数并不将数据传送给被调用函数,一般不带回函数值(即无返回值)。

4、如果被调用函数的定义出现在主调函数之前,可以不必加以声明,但在程序趋向复杂化后,这种做法会使程序可读性较差。

5、函数声明的位置可以在调用函数所在的函数中,也可以在函数之外(如本文代码所示)。如果函数声明放在函数的外部,在所有函数定义之前(这就是对函数的外部声明),则在各个主调函数中不必对所调用的函数再作声明。

6、函数声明(也称函数原型)中可以不写形参名,而只写形参的类型。

函数原型的一般形式为

(1)函数类型 函数名 (参数类型1,参数类型 2,···);

(2)函数类型 函数名 (参数类型1 参数名1, 参数类型2 参数名2,···)

第(1)种形式是基本的形式。为了便于阅读程序,也允许在函数原型中加上参数名,就成了第(2)中形式。但编译系统并不检查参数名,因此参数名是什么都无所谓。

你可能感兴趣的:(ACM作业,c++)