重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本实验主要培养、训练学生对函数的理解,要求:
创新互联主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务青海,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
- 掌握函数的定义、声明的方法;
- 掌握函数的编写要求;
- 掌握函数的调用方法;
- 掌握函数参数的传递方法;
- 掌握变量的作用域;
- 掌握多文件编程方法。
1、输入自然数 m 和 n,
(1)求他们的大公约数(或称大公因数)。
要求输入、输出在主函数中进行,求公约数由函数实现。
(2)在函数中求大公约数与最小公倍数。(提示:使用引用参数)
2、编写程序满足:声明一个函数,判断一个整数是否为素数,使用以下函数头:bool is_prime(int num),如果num是素数,函数返回true,否则返回false;
利用函数is_prime找出前200个素数,并按每行10个输出:
2 3 5 7 11 13 19 23 29
3、编程实现摄氏温度到华氏温度的转换:
编写一个头文件,包含下面两个函数:
double celsius_to_fah(double cel) //摄氏温度到华氏温度
double fahrenheit_to_cels(double fah) //华氏温度到摄氏温度
实现头文件,并编写测试程序,调用函数显示如下结果:
Celsius Fahrenheit | Fahrenheit Celsius
40.0 10.0 | 120.0 48.89
…… …… | …… ……
31.0 87.8 | 30.0 -1.11
39.0 102.0 | 110.0 43.33
(测试程序为主模块,即main( )函数所在cpp文件,头文件mytemperature.h只有函数声明;函数定义写在另一cpp文件mytemperature.cpp)
4、猴子吃桃:猴子第一天摘若干桃子,当即吃了一半,还不过瘾,又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃一个,以后每天如此,到第10天,发现只剩最后一个桃子,问:第一天猴子共摘多少桃子(用递归实现)。
四、实验思考1、输入自然数 m 和 n,
(1)求他们的大公约数(或称大公因数)。
要求输入、输出在主函数中进行,求公约数由函数实现。
(2)在函数中求大公约数与最小公倍数。(提示:使用引用参数)
(1)程序:
#include
using namespace std; int ys(int,int); int main() { int m,n; cin>>m>>n; cout<<”大公约数为”< 结果:
输入:
分别输入2,3;4,8,观察运行结果
- 输入2,3时
- 输出大公约数1
- 输入4,8时
- 输出大公约数4
(2)程序:
#include
using namespace std; void ys(int &x,int &y); void bs(int &x,int &y); int main() { int m,n; cin>>m>>n; ys(m,n); bs(m,n); return 0; } void ys(int &x,int &y) { int Y; for(int i=1;i<=x&&i<=y;i++) { if(x%i==0&&y%i==0) { Y=i;} } cout<<"大公约数为"< 结果:
输入:
分别输入4,8;5,13,观察运行结果
- 输入4,8时
- 输出大公约数4,最小公倍数8
- 输入5,13时
- 输出大公约数1,最小公倍数65
2、编写程序满足:声明一个函数,判断一个整数是否为素数,使用以下函数头:bool is_prime(int num),如果num是素数,函数返回true,否则返回false;
利用函数is_prime找出前200个素数,并按每行10个输出:
2 3 5 7 11 13 19 23 29
程序 :
#include
#include using namespace std; bool is_prime(int num); int main() { int n=0; for(int i=2;;i++) { if(is_prime(i)) { cout< 0&&(n%10==0)) { cout< 结果:
- 输出前200个素数,并按每行10个输出
3、编程实现摄氏温度到华氏温度的转换:
编写一个头文件,包含下面两个函数:
double celsius_to_fah(double cel) //摄氏温度到华氏温度
double fahrenheit_to_cels(double fah) //华氏温度到摄氏温度
实现头文件,并编写测试程序,调用函数显示如下结果:
Celsius Fahrenheit | Fahrenheit Celsius
40.0 105.0 | 120.0 48.89
…… …… | …… ……
31.0 87.8 | 30.0 -1.11
39.0 102.0 | 110.0 43.33
(测试程序为主模块,即main( )函数所在cpp文件,头文件mytemperature.h只有函数声明;函数定义写在另一cpp文件mytemperature.cpp)
程序:
主程序:
#include
#include "mytemperature.h"; using namespace std; int main() { double cel,fah; cout<< "Celsius Fahrenheit: "; cin >>cel; printf("%.1f %.1f\n",cel, celsius_to_fah(cel)); cout<< "Fahrenheit Celsius: "; cin >>fah; printf("%.1f %.2f\n",fah, fahrenheit_to_cels(fah)); return 0; } 函数mytemperature.cpp:
#include
double celsius_to_fah(double cel) { double f; f = cel * 1.8 + 32; return f; } double fahrenheit_to_cels(double fah) { double c; c = (fah - 32)/1.8; return c; } 头文件mytemperature.h:
#ifndef _mytemperature_h_ #define _mytemperature_h_ double celsius_to_fah(double cel);//摄氏温度到华氏温度 double fahrenheit_to_cels(double fah); //华氏温度到摄氏温度 #endif
结果:
输入与输出
- 输入摄氏度40.0,华氏度120.0
- 输出转化后的华氏度104.0,转化后的摄氏度48.89
- 输入摄氏度31.0,华氏度30.0
- 输出转化后的华氏度87.8,转化后的摄氏度-1.11
4、猴子吃桃:猴子第一天摘若干桃子,当即吃了一半,还不过瘾,又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃一个,以后每天如此,到第10天,发现只剩最后一个桃子,问:第一天猴子共摘多少桃子(用递归实现)。
程序:
#include
using namespace std; int f(int n); int main() { int n=1; cout<<"第一天摘的桃子数为"< 结果:
- 直接输出第一天摘的桃子数为1534
1、本实验中函数中返回的值为什么与函数类型一致?
- 函数本没有类型,只是为了识别返回值的类型,才在声明中在函数前面也加了这个类型,一遍编译程序把返回值以这个指定类型来处理。所以,函数中返回值的类型只能与函数声明时的类型一致。
2、本实验中主函数调用函数时采用的是何种传递方式?
- 传用参数的传递方式。
五、体会
这节实验内容相比前两节难度增大了许多,但经过不断尝试可以较好地完成,并对c++中的函数知识有较好的掌握。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧