C++实验2——函数的应用

大一时写的,很菜

目录

实验目的:

实验内容:

参考代码:


实验目的:

  1. 掌握函数的定义和调用方法。
  2. 练习重载函数的使用。
  3. 练习函数模板的使用。
  4. 练习使用系统函数。
  5. 学习使用VC++的debug调试功能,使用step into追踪到函数内部。

实验内容:

  1. 编写一个函数把华氏温度转换为摄氏温度,转换公式为:C = (F - 32) * 5/9。
  2. 用递归的方法编写函数求Fibonacci 级数,观察递归调用的过程。
  3. 使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
  4. 使用重载函数模板重新实现上小题中的函数Max1。
  5. 编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。

参考代码:

//实验2.1 编写一个函数把华氏温度转换为摄氏温度,转换公式为:C = (F - 32) * 5/9。
#include<iostream>
using namespace std;
double fc(double F) {
	double C;
	C = (F - 32.0) * 5.0/ 9.0;//注意double类型要加.0,本题中不加也可以得到正确结果(因为F是double类型的)
	return C;
}
int main() {
	double f;
	cout << "请输入华氏温度" << endl;
	cin >> f;
	cout << "摄氏度为:" << fc(f) << endl;
	return 0;
}
//实验2.2 编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
#include<iostream>
using namespace std;
int Max1(int a, int b) {
	cout << "调用两个整数比较大小的Max1" << endl;
	return max(a, b);
}
int Max1(int a, int b, int c) {
	cout << "调用三个整数比较大小的Max1" << endl;
	return max(max(a, b), c);
}
double Max1(double a, double b) {
	cout << "调用两个双精度数比较大小的Max1" << endl;
	return max(a, b);
}
double Max1(double a, double b, double c) {
	cout << "调用三个双精度数比较大小的Max1" << endl;
	return max(max(a, b), c);
}
int main() {
	cout << Max1(1, 2) << endl;
	cout << Max1(1, 2, 3) << endl;
	cout << Max1(1.0, 2.0) << endl;
	cout << Max1(1.0, 2.0, 3.0) << endl;
	return 0;
}
//只有将函数表达式输出才能调用函数内的返回值
//Max1.h
#pragma once//#pragma once有什么作用?为什么加不加都可以实现?

#include<iostream>
using namespace std;
int Max1(int a, int b) {
	cout << "调用两个整数比较大小的Max1" << endl;
	return max(a, b);
}
int Max1(int a, int b, int c) {
	cout << "调用三个整数比较大小的Max1" << endl;
	return max(max(a, b), c);
}
double Max1(double a, double b) {
	cout << "调用两个双精度数比较大小的Max1" << endl;
	return max(a, b);
}
double Max1(double a, double b, double c) {
	cout << "调用三个双精度数比较大小的Max1" << endl;
	return max(max(a, b), c);
}
//实验2.3 使用重载函数模板重新实现实验2.2中的函数Max1。
#include<iostream>
#include"Max1.h"
using namespace std;
int main() {
	cout << Max1(1, 2) << endl;
	cout << Max1(1, 2, 3) << endl;
	cout << Max1(1.0, 2.0) << endl;
	cout << Max1(1.0, 2.0, 3.0) << endl;
	return 0;
}
//实验2.4 使用系统函数pow(x,y)计算x^y的值,注意包含头文件math.h。
/*pow函数的作用是求幂。
数学公式:计算x的y次幂;
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果;
返回类型:double型。*/
#include<iostream>
#include<math.h>//cmath与math.h有何区别?
using namespace std;
int main() {
	double x, y;//注意参数类型应与返回值一致
	cout << "输入底数x和指数y" << endl;
	cin >> x >> y;
	cout << "x^y=" << pow(x, y) << endl;
	return 0;//听说csp认证不写return 0会记0分?
}
//实验2.5 用递归的方法编写函数求Fibonacci 级数,观察递归调用的过程。
//#include<iostream>
//using namespace std;
//int f(int n) {
//	if (n == 1)
//		f(n) = 1;
//	else if (n == 2)
//		f(n) = 1;
//	else
//		f(n) = f(n - 1) + f(n - 2);
//	return f(n);
//}
//int main() {
//	int n;
//	cout << "请输入一个大于等于1的整数" << endl;
//	cin >> n;
//	cout << "f(n)=" << f(n) << endl;
//	return 0;
//}//会报错
#include<iostream>
using namespace std;
int f(int n) {
	int F;
	if (n == 1)
		F = 1;
	else if (n == 2)
		F = 1;
	else
		F = f(n - 1) + f(n - 2);
	return F;
}
int main() {
	int n;
	cout << "请输入一个大于等于1的整数" << endl;
	cin >> n;
	cout << "F=" << f(n) << endl;
	return 0;
}
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值