C02-程序设计基础提高班(C++)第5周上机任务

简介: 第5周:阅读教材第4章(p88-133),主要内容是函数(回到C02-程序设计基础提高班(C++)学习安排)1. 求满足条件n=a!+b!+c!的所有三位数n并输出,要求用自定义函数实现求阶乘。参考程序:#include <iostream> using namespace std; long fac(int n); //函数的声明//下面定义main

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++语言提供了哪些系统函数。 




目录
相关文章
|
2月前
|
存储 监控 算法
【C++ 软件设计思路】高效管理历史任务记录:内存与磁盘结合的策略解析
【C++ 软件设计思路】高效管理历史任务记录:内存与磁盘结合的策略解析
63 0
|
2月前
|
存储 人工智能 算法
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
97 0
|
2月前
|
存储 C++ 开发者
C++程序设计基础:构建稳固的编程基石
C++程序设计基础:构建稳固的编程基石
23 1
|
7月前
|
设计模式 自然语言处理 编译器
C++程序设计介绍
C++程序设计是一种面向对象的计算机编程语言,是在C语言的基础上进行扩展和发展而来的。C++由丹尼斯·里奇在20世纪80年代初开发,它继承了C语言的特性,同时引入了类、对象、继承、多态等面向对象编程的概念和特性。C++被广泛应用于软件开发、游戏开发、嵌入式系统等领域。 C++具有以下特点: 1. 面向对象:C++是一种面向对象的编程语言,强调数据和操作的封装,通过类和对象的概念实现数据和方法的组织和管理。面向对象的编程思想使得程序更易于理解、扩展和维护。 2. 支持泛型编程:C++引入了模板的概念,可以编写泛型代码,实现对不同类型的数据进行通用处理。泛型编程提高了代码的复用性和灵活性。
40 0
|
7月前
|
存储 算法 搜索推荐
C++ 面向对象程序设计 14万字总结笔记(八)
C++ 面向对象程序设计 14万字总结笔记(八)
38 0
|
7月前
|
存储 编译器 C++
C++ 面向对象程序设计 14万字总结笔记(六)
C++ 面向对象程序设计 14万字总结笔记(六)
44 0
|
2月前
|
存储 算法 Java
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
89 0
|
2月前
|
安全 Java 调度
【C/C++ 线程池设计思路 】设计与实现支持优先级任务的C++线程池 简要介绍
【C/C++ 线程池设计思路 】设计与实现支持优先级任务的C++线程池 简要介绍
57 2
|
2月前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
93 2
|
2月前
|
消息中间件 监控 安全
【C/C++ 程序设计】Linux 进程管理 设计 获取进程信息 策略权衡
【C/C++ 程序设计】Linux 进程管理 设计 获取进程信息 策略权衡
78 0