目录
实验目的及要求
- 掌握函数的定义和调用方法
- 练习重载函数的使用
- 练习使用系统函数
- 学习使用Visual Studio2008的Debug调试功能,使用step into追踪到函数内部。
实验环境
Visual Studio 2019
实验内容
任务1. 编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
任务2. 编写重载函数Max1分别求取两个整数、三个整数、两个双精度数、三个双精度数的最大值。
任务3. 使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
任务4.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
实验过程及分析
任务1
编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。
#include<iostream>
using namespace std;
float Convert(float F) {
float C;
C = (F - 32) * 5 / 9;
cout << "摄氏度C=" << C;
return C;
}
int main() {
float a;
cout << "请输入现在的华氏温度。";
cin >> a;
Convert(a);
return 0;
}
实验总结(题目所涉及的知识点)函数的定义和调用方法
任务2
编写重载函数Max1分别求取两个整数、三个整数、两个双精度数、三个双精度数的最大值。
#include<iostream>
using namespace std;
int Max1(int a, int b) {
if (a > b)
return a;
else return b;
}
int Max1(int c, int d, int e) {
if (c >= d && c >= e)
return c;
else if (d >= c && d >= e)
return d;
else if (e >= c && e >= d)
return e;
}
double Max1(double a, double b) {
if (a > b)
return a;
else return b;
}
double Max1(double c, double d, double e) {
if (c >= d && c >= e)
return c;
else if (d >= c && d >= e)
return d;
else if (e >= c && e >= d)
return e;
}
int main() {
int m; int n;
cout << "请输入两个整数" << endl;
cin >> m >> n;
cout << "其中最大值" << Max1(m, n) << endl;
int x; int y; int z;
cout << "请输入三个整数" << endl;
cin >> x >> y >> z;
cout << "其中最大值" << Max1(x,y,z) << endl;
double mx; double ny;
cout << "请输入两个双精度数" << endl;
cin >> mx >> ny;
cout << "其中最大值" << Max1(mx, ny) << endl;
double a; double b; double c;
cout << "请输入三个双精度数" << endl;
cin >> a >> b >> c;
cout << "其中最大值" << Max1(a,b,c) << endl;
return 0;
}
总结发现:原来return也能放在If语句里。
任务3
使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
#include<iostream>
#include<math.h>
using namespace std;
int main() {
double x; double y;
cout << "请输入底数和指数" << endl;
cin >> x >> y;
cout << pow(x, y) << endl;
return 0;
}
任务4
用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
#include<iostream>
using namespace std;
unsigned fibonancci(unsigned n) {
unsigned a;
if (n == 1)
a = 1;
else if (n ==2)
a = 1;
else if (n > 2)
a = fibonancci(n - 1) + fibonancci(n - 2);
return a;
}
int main() {
unsigned shu;
cout << "请输入一个级数" << endl;
cin >> shu;
cout << "F=" << fibonancci(shu);
return 0;
}