号码: 31
C语言课程设计
学院设计师__成绩____
一.主题:质数探索
二.目的和要求
1 .目的:
)1)培养学生综合利用c语言进行编程的能力
2 )熟悉函数设计、环路控制方法和测试方法,了解模块化编程的优点和意义。
2 .基本要求:
(1)用C编程语言实现算法,要求完成程序设计,在VC 6.0开发环境下运行算法;
2 )用多个函数实现
)3)源程序要求必要的注释。
3 .创新要求
满足基本要求后,可以进行创新设计,例如优化人机界面,将输出结果保存到文件中。
4 .编写设计报告的要求
课程设计报告
1 )课程设计的主题、内容、要求。
2 )总体设计)包括若干功能模块)。
3 )详细设计(各功能模块的具体实现算法——流程图) )。
4 )数据结构设计描述、各模块(函数)功能介绍、参数说明等。
5 )调试分析)包括各模块的测试用例和测试结果。 )
6 )总结)课程设计中完成了哪些功能,哪些地方需要改进,通过课程设计取得了哪些成果,调试器的体会等)。
三.设计方法和基本原理
1 .问题说明:
从键盘输入任意整数m。
)1)当m不是素数时,对m进行素因数分解,将m作为按照素因数从小到大的顺序排列的积输出。 否则“m是素数! ”并输出。 例如,如果用户输入90,则程序输出为2*3*3*5。
)2) m为素数时,按降序输出小于m的所有素数。
2 .问题的解决方案:
根据问题的记述,可以根据要求的功能采用结构化的设计思想。
四.主要技术问题说明
根据以上分析,主要解决的技术问题如下。
素数的判断,单独用一个函数进行的两个问题分别用两个函数完成。
设计流程:
#include 'stdio.h '
intisprime(int;
voidF1(int );
voidF2(int ); /*函数说明文*/
*****主函数* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *主函数
main () )
{
int m;
printf (从键盘输入任意整数m。 n );
scanf('%d ',m );
if(isprime(m ) )
{
printf('%d为素数(n ),m );
f1(m );
}
else
{
printf('%d”不是素数。 n质因数分解如下。 n ',m );
F2(M );
}
}
/**********定义函数为素数* * * * * * * * * * * * * * * * * * * * /
intisprime(inta )。
{
int i;
for(I=2; i=a/2; I )
if(a%I==0) return 0; /*a如果能被某个数整除的话,不是素数,而是0*/
返回1; /*a不能被2到a/2之间的任意数整除,不能被1*/
}
/**********定义函数输出小于m的所有素数* * * * * * * * * * /
这是语音1 (intb )
{
int i;
小于printf () %d的素数为:(n ),b );
for(I=B-1; i=2; I----)
{
if(isprime(I ) )
printf('%d ',I );
}
打印((n );
}
/********定义函数对m进行因式分解* * * * * * * * * * * * * * * * /
voidF2(intn ) )。
{
int i;
for(I=2; i=n; I )
while(n!=i )
{
if(n%I==0) ) ) )。
{
printf('%d* ',I );
n=n/i;
}
else
黑;
}
printf('%d ',n );
打印((n );
}
3
展开全文