1、编号: 311C 语言课程设计学院 班级 设计人 _ 成绩 _一、题目:素数探求二、目的与要求1目的:(1)培养学生综合利用 C 语言进行程序设计的能力;(2)熟悉函数设计、循环的控制方法及测试方法,理解模块化程序设计的优点和意义。2基本要求:(1)要求用 C 编程语言实现算法,完成程序的设计,在 VC+6.0 开发环境运行算法;(2)用多个函数实现;(3)源代码程序要求必要的注释。3创新要求在基本要求达到后,可以进行创新设计,如优化人机界面、将输出结果存放在文件里等。4书写设计报告的要求课程设计报告1)课程设计题目、内容、要求。2)总体设计(包含几大功能模块)。3)详细设计(各功能模块的具体
2、实现算法流程图)4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。5)调试分析(包含各模块的测试用例,及测试结果。)6)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过课程设计有何收获,调试程序的体会等)三、设计方法和基本原理1问题描述:从键盘任意输入一个整数 m:(1)若 m 不是素数,则对 m 进行质因数分解,并将 m 以质因数从小到大的顺序排列的乘积形式输出;否则输出“m 是质数! ”。例如:用户输入 90,则程序输出为 2*3*3*5。(2)若 m 是素数,则按降序输出小于 m 的所有素数。2问题的解决方案:根据问题的描述,可以按照要求的功能采用结构化的设计思想。四
3、、主要技术问题的描述根据以上的分析,主要解决的技术问题在于:素数的判断,单独用一个函数完成;两个问题分别用两个函数完成。编号: 312设计程序:#include “stdio.h“int isprime(int);void f1(int);void f2(int); /*函数说明语句*/*主函数*/main()int m;printf(“从键盘任意输入一个整数 m:n“);scanf(“%d“,if(isprime(m)printf(“%d 是素数n“,m);f1(m);else printf(“%d 不是素数n 可以进行质因数分解如下:n“,m);f2(m);/*定义函数判断是否为素数*/int isprime(int a) int i;for(i=2;i=2;i-)if(isprime(i) printf(“%d “,i);printf(“n“);/*定义函数对 m 进行质因数分解*/void f2(int n) int i;for(i=2;i=n;i+)while(n!=i)if(n%i=0)printf(“%d*“,i);n=n/i;elsebreak;printf(“%d“,n);printf(“n“);