问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:三个整数中最大值.cpp
* 作 者:何小乐
* 完成日期:2014年 10 月 14 日
* 版 本 号:v1.0
*
* 问题描述:输入任意大小的三个整数,输出三者中的最大值
* 输入描述:三个任意大小的整数
* 程序输出:输入的三者中的最大值
*/
#include <iostream>
using namespace std;
int main()
{
int max (int x ,int y ,int z) ; //声明函数max,为下文使用做铺垫
int a , b , c , m ;
cout << "请输入三个任意大小的整数,三次输入之间用空格隔开,输完按回车即可得到三者中的最大值。" << endl ;
cin >> a >> b >> c ;
m = max(a,b,c); //调用函数max,并将max的返回值赋予m
cout << "三个整数中的最大值为" << m << endl ;
return 0;
}
int max (int x ,int y ,int z) //x、y、z为形式参数,max函数作为在三者中比大小的算法
{
int n ;
if (x>y)
{
if (x>z)
n = x ;
else
n = z ;
}
else
{
if (y>z)
n = y ;
else
n = z ;
}
return (n) ; //将n的值返回至调用函数处
}
运行结果:
知识点总结:
1.对if的嵌套结构有了一定的了解
2.对函数的形式参数及调用函数有了一定的了解
3.对被调用函数的返回值及其在主函数的声明有了一定的了解
学习小结:
这个程序费了我一番心思,主要困扰我的是三个数中求最大数的算法该怎么表达才会比较简单易懂。我的这种算法感觉有点啰嗦了,以后要是想到更好的max算法就把这个改了。
另外值得一提的是,我这个程序中用到了书中第一章第三节的一个例子,我当时看这个例子时懵懵懂懂,今天在编这个程序时居然一口气写了出来,运行之后有一个警告说n的值声明了却未使用,才发现被调用函数max的返回值没有写。运行成功后还是有那么一点成就感的,哈哈。
感觉调用函数这个方法很好用,同时也能节省在主函数上面写的语句,就像写流程图时那样只要写大思路就可以了。