欢迎来到天天文库
浏览记录
ID:50289227
大小:44.02 KB
页数:3页
时间:2020-03-07
《c语言课程设计-素数探求.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计学院班级设计人__成绩____一、题目:素数探求二、目的与要求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、的描述根据以上的分析,主要解决的技术问题在于:素数的判断,单独用一个函数完成;两个问题分别用两个函数完成。设计程序:#include"stdio.h"intisprime(int);voidf1(int);voidf2(int);/*函数说明语句*//*************************主函数***************************/main(){intm;printf("从键盘任意输入一个整数m:");scanf("%d",&m);if(isprime(m)){printf("%d是素数",m);f1(m);}else{printf("%d不
4、是素数可以进行质因数分解如下:",m);f2(m);}}/******************定义函数判断是否为素数******************/intisprime(inta){inti;for(i=2;i<=a/2;i++)if(a%i==0)return0;/*a若能被某个数整除,即不是素数,返回0*/return1;/*a不能被2到a/2的任意数整除,返回1*/}/****************定义函数输出小于m的所有素数***************/voidf1(intb){inti;printf("小于%d的素数有:",b);for(i=b-1
5、;i>=2;i--){if(isprime(i))printf("%d",i);}printf("");}/**************定义函数对m进行质因数分解*******************/voidf2(intn){inti;for(i=2;i<=n;i++)while(n!=i){if(n%i==0){printf("%d*",i);n=n/i;}elsebreak;}printf("%d",n);printf("");}
此文档下载收益归作者所有