函数的应用

一、实验目的

(1)掌握函数的定义和调用方法。

(2)练习重载函数的使用。

(3)练习使用系统函数。

(4)学习使用Visual Studio 2019以及Eclispe的Debug调试功能,使用Step Into追踪到函数内部。

二、实验任务

(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。

(2)编写一个重载函数maxl可分别求取两个整数、三个整数、两个双精度数、三个双精度数的最大值。

(3)使用系统函数pow(x,y)计算x^y的值,注意包含头文件math.h。

(4)使用递归函数的方法编写函数求Fibonacci级数,观察递归调用的过程。

三、实验步骤

(1)编写函数float Convert(float TempFer),参数和返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名:lab3_1.cpp。
(2)分别编写4个同名函数maxl,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp。
(3)在main()函数中提示输入两个整数x、y,使用cin语句得到x、v的值,调用pow(xy)函数计算x的y次幂的结果,再显示出来。程序名:lab3_4.cpp。
(4)编写递归函数intfib(intn),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1;使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。
(5)使用Debug中的StepInto追踪到函数内部,观察函数的调用过程。

代码

//lab3_1.cpp

#include <iostream>

using namespace std;

float Convert(float TempFer)

{
float C;

C = (TempFer - 32) * 5.0 / 9.0;

return float(C);

}

void main()

{
float x;

cout << "请输入华氏温度:" << endl;

cin >> x;

cout << "摄氏温度为:" << Convert(x) << endl;
}
//lab3_2.cpp

#include<iostream>
#include<math.h>
using namespace std;
 
//求两个整数最大值 
int Max1(int a,int b){
	if(a>b){
		return a;
	}else{
		return b;
	}
}
//求三个整数最大值
int Max1(int a,int b,int c)
{
	int temp=a;
	if(temp<b)
{
		temp=b;
	}
	if(temp<c)
{
		temp=c;
	}
	return temp;
} 
//求两个双精度整数最大值
double Max1(double a,double b){
	if(a>b)
{
		return a;
	}
else
{
		return b;
	}
}
//求三个双精度整数最大值
double Max1(double a,double b,double c){
	double temp=a;
	if(temp<b)
{
		temp=b;
	}
	if(temp<c)
{
		temp=c;
	}
	return temp;
}
 
int main()
{
	int u,v,w; double a,b,c;
	//2.1求两个整数最大值 
	cout<<"求两个整数最大值,请分别输入数u、数v:"<<endl;
	cout<<"请输入数 u:";
	cin>>u;
	cout<<"请输入数 v:";
	cin>>v;
	cout<<u<<"和"<<v<<"中最大值为:"<<Max1(u,v)<<endl<<endl;
	//2.2求三个整数最大值
	cout<<"求三个整数最大值,请分别输入数u、数v、数w:"<<endl;
	cout<<"请输入数 u:";
	cin>>u;
	cout<<"请输入数 v:";
	cin>>v;
	cout<<"请输入数 w:";
	cin>>w;
	cout<<u<<"和"<<v<<"和"<<w<<"中最大值为:"<<Max1(u,v,w)<<endl<<endl;
	//2.3求两个双精度整数最大值
	cout<<"求两个双精度整数最大值,请分别输入数a、数b:"<<endl;
	cout<<"请输入数 a:";
	cin>>a;
	cout<<"请输入数 b:";
	cin>>b;
	cout<<a<<"和"<<b<<"中最大值为:"<<Max1(a,b)<<endl<<endl;
	//2.4求三个双精度整数最大值
	cout<<"求三个双精度整数最大值,请分别输入数a、数b、数c:"<<endl;
	cout<<"请输入数 a:";
	cin>>a;
	cout<<"请输入数 b:";
	cin>>b;
	cout<<"请输入数 c:";
	cin>>c;
	cout<<a<<"和"<<b<<"和"<<c<<"中最大值为:"<<Max1(a,b,c)<<endl<<endl; 
}
//lab3_3.cpp
#include<iostream>
#inlude<math.h>
using namespace std.

void main()
{
int x,y;
cout<<"请输入x:"<<endl;
cin>>x;
cout<<"请输入y:"<<endl;
cin>>y;
cout<<"x^y="<<pow(x,y)<<endl;
system("pause");
}
//lab3_4
#include<iostream>
using namespace std.

int fib(int n);
int main()
{
int n,answer;
cout<<"Enter number:";
cin>>n;
cout<<"\n\n";
answer=fib(n);
cout<<answer<<"is the"<<n<<"the Fibonacci number\n";
return 0;
}

int fib(int n)
{
cout<<"Processing fib("<<n<<")...";
if(n<3)
{
cout<<"Return 1!\n";
return 1;
}
else
{
cout<<"Call fib("<<n-2<<")and fib("<<n-1<<").\n";
return (fib(n-2)+fib(n-1));
}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值