一、实验目的和要求
|
二、实验环境(软、硬件及条件) 一台安装有Visual C++ 6.0的计算机 |
三、实验步骤 1.编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。 2. 编写函数分别求取两个整数,3个整数,两个浮点数, 3个浮点数的最大值。 3.使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。 4.用递归算法求N!的值(N<6),观察递归调用的过程。
1.编写函数float Convert(float TempFer),参数和返回类型值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。示例程序lab1.cpp如下: #include <iostream.h> float Convert(float); int main() { float TempFer; float TempCel; cout << "Please enter the temperature in Fahrenheit: "; cin >> TempFer; TempCel = Convert(TempFer); cout << "\nHere's the temperature in Celsius: "; cout << TempCel << endl; return 0; } float Convert(float TempFer) { float TempCel; TempCel = ((TempFer - 32) * 5) / 9; return TempCel; } 2.分别编写四个同名函数max1,在main()函数中测试函数功能。 3.在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow(x,y)函数计算xy的结果,再显示出来。 4.编写递归函数int fun(int n),在主程序中输入n的值,调用fun函数计算机n!的值。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。 5.使用debug中的Step Into追踪到函数内部,观察函数的调用过程。调试操作步骤如下: 1)选择菜单命令Build|Start Debug|Step into,或按下快捷键F11,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。 2)把光标移到语句answer=fun(n)前,从Debug菜单单击Run to Cursor,在程序运行的DOS窗口中按提示输入数字(如5),回到Visual Studio中,光标将停在该语句所在行,观察n及其它变量的值。 3)从Debug菜单或Debug工具栏中单击Step Into,或按下F11,程序进入fun函数,观察n,f及其他相关变量的值。重复上述操作,直到退出fun函数,分析程序的执行过程,加深对函数调用和递归调用的理解。 |
四、实验中遇到的问题及解决 无 |
1. #include<iostream> using namespace std; double kf(double); int main() {double f; cout<<"输入华氏温度:"<<endl; cin>>f; cout<<"摄氏温度"<<kf(f)<<endl; return 0; } double kf(double hs) {double ss; ss=(hs-32)*5/9; cout<<ss<<endl; return ss; } 2. #include<iostream> using namespace std; int fun(int a,int b) { return (a>b)?a:b;}; int fun(int a,int b,int c) {int max; if(a>b){max=(a>c)?a:c;} if(b>a){max=(b>c?b:c);} return max;}; double fun(double a,double b) { return (a>b)?a:b;}; double fun(double a,double b,double c) {double max; if(a>b){max=(a>c)?a:c;} if(b>a){max=(b>c?b:c);} return max;}; int main() { cout<<"最大值:"<<fun(4,5)<<endl; cout<<"最大值:"<<fun(4,5,6)<<endl; cout<<"最大值:"<<fun(4.5,6.3)<<endl; cout<<"最大值:"<<fun(4.5,6.3,9.1)<<endl; return 0; } 3.#include<iostream> using namespace std; #include<math.h> int main() { int x,y; cout<<"请依次输入x,y:"<<endl; cin>>x>>y; cout<<x<<"的"<<y<<"次方为:"<<pow(x,y)<<endl; return 0; } 4.#include<iostream> using namespace std; int fun(int j) { if(j==0) return 1; else return j*fun(j-1); } void main() { int n; cout<<"输入的n值要求:n<6"<<endl; cin>>n; if(n<6) {cout<<n<<"!="<<fun(n)<<endl;} else {cout<<"输入的n值不在题目范围"<<endl;}; }
|