C02-程序设计基础提高班(C++)第5周上机任务
来源:互联网 发布:淘宝账号怎么实名认证 编辑:程序博客网 时间:2024/04/29 14:21
第5周:阅读教材第4章(p88-133),主要内容是函数
(回到C02-程序设计基础提高班(C++)学习安排)
1. 求满足条件n=a!+b!+c!的所有三位数n并输出,要求用自定义函数实现求阶乘。
参考程序:
#include <iostream> using namespace std; long fac(int n); //函数的声明//下面定义main()函数完成任务,其中求阶乘的工作调用fac()函数完成//下面定义fac(),实现求阶乘的功能
2. 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。)
bool isPrimer(int n){}bool isPalindrome(int n){}(1)输出10000以内的所有素数。
(2)输出10000以内的所有回文数。
(3)输出10000以内的所有回文素数。
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数。
3. 先听故事,再编程序。故事是这样的:话说sin和cos是一对夫妇。一天,sin去听相声了,cos在家。过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数。cos问:你是谁啊?他说:我是你的老公sin啊。cos说:你不是去听相声了吗?怎么成这幅摸样了?他说:是啊,太乐了!故事讲完了。不懂吗?好好学高数。否则,挂了不冤。
编程序求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3)
#include <iostream> using namespace std;const double pi=3.1415926;double mysin(double); //声明用于求sin(x)的自定义函数double mycos(double); //声明用于求cos(x)的自定义函数double myabs(double); //程序中需要求精度的绝对值,也用自定义函数完成吧int main( ){ cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl; cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl; cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl; cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl; return 0;}//下面定义mysin函数//下面定义mycos函数//下面定义myabs函数
4. 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编程序计算共有多少种不同的走法?
提示:设n阶台阶的走法数为f(n)。如果只有1个台阶,走法有1种(一步上1个台阶),即f(1)=1;如果有2个台阶,走法有2种(一种是上1阶,再上1阶,另一种是一步上2阶),即f(2)=2;当有n个台阶(n>3)时,我们缩小问题规模,可以这样想:最后是一步上1个台阶的话,之前上了n-1个台阶,走法为f(n-1)种,而最后是一步上2个台阶的话,之前上了n-2个台阶,走法为f(n-2)种,故而f(n)=f(n-1)+f(n-2)。列出的递归方程为:
f(1)=1;
f(2)=2;
f(n)=f(n-1)*f(n-2),当n>3
据此可以编程序求解f(n)的值。
5.选人:贺老师教1班和2班两个班的C++程序设计课,1班同学的学号为1-41,2班同学的学号为42-84,现在每个班要抽签确定5名同学去参加学校组织的教学效果评价,请编程完成这个“抽签”的工作。
提示:本程序需要用到int rand()产生随机数,产生随机数一般要用void srand(unsigned seed) 初始化随机数发生器,上网查找这些函数的用法,完成此任务。借此,体会调用系统函数完成特定功能的方法。通过浏览相关手册,知道C/C++语言提供了哪些系统函数。
- C02-程序设计基础提高班(C++)第5周上机任务
- C02-程序设计基础提高班(C++)第3周上机任务
- C02-程序设计基础提高班(C++)第4周上机任务
- C02-程序设计基础提高班(C++)第6周上机任务-数组
- C02-程序设计基础提高班(C++)第7周上机任务-指针
- C02-程序设计基础提高班(C++)第8周上机任务-结构体
- C02-程序设计基础提高班(C++)第9周上机任务-类和对象
- C02-程序设计基础提高班(C++)第10周上机任务-类和对象之二
- C02-程序设计基础提高班(C++)第11周上机任务-运算符重载
- C02-程序设计基础提高班(C++)第12周上机任务-类的继承
- C02-程序设计基础提高班(C++)第13周上机任务-多态与虚函数
- C02-程序设计基础提高班(C++)第14周上机任务-文件操作
- C02:程序设计基础提高班(C++)
- C02-程序设计基础提高班(C++)学习安排
- 程序设计基础(C++)主页-2015级(提高班)
- 程序设计基础(C++)主页-2016级(提高班)
- C++(提高班)第9周课堂练习
- C语言基础C02数组
- 奢望
- rcp(插件开发)No Application ID has been found
- 自定义itoa
- rcp(插件开发)eclipse平台图片资源共享的获取方法
- @optional 与 @required 分别代表什么意思
- C02-程序设计基础提高班(C++)第5周上机任务
- Python -- 初识
- 手机快播的多!mv文件合并软件工具
- rcp(插件开发)如何获取MenuBar上的菜单
- 双堆维护数组中位数
- rcp(插件开发)如何获取IWorkbenchPage对象?
- 用归并排序对链表进行排序
- rcp(插件开发)如何获取视图(view)中当前选择的元素
- HDOJ 1080