《C语言综合设计实验报告》由会员分享,可在线阅读,更多相关《C语言综合设计实验报告(7页珍藏版)》请在金锄头文库上搜索。
1、昆明理工大学程序设计基础课程综合设计实践教学课题报告课程名称:研究式学习C 语言程序设计课题名称:课题名称:二二. .素数素数学号学号姓名姓名 X XX X学院:学院:专业班专业班昆明理工大学计算中心昆明理工大学计算中心程序设计基础课程综合设计实践教学课题考核表程序设计基础课程综合设计实践教学课题考核表课题名称:素数学院:专业班级学号姓名小组编号个人题号承担及完成的内容成绩小组自评87教师萍定备注二、 个人完成111该程序首先是对程序中要产生的一些函数的定义,再在主函数中对它们进行调用。从而形成一套有条理的程序设计,并且能够很好的达到程序设计的目的。程序中,我们运用了语句,极其指针、文件等,方
2、便的执行了对数据的操作。设计说明该系统提供以下几个功能:与功能描1可对 100 以内的数进行是否为素数的判断。述 (基本思2可以找出所有 100 以内(含 100)满足 I,I+4,I+10 都是素数的整数 I(I+10路及关键也在 100 以内)的个数 cnt 以及这些 I 之和 sum。语句说明)3能把结果 cnt 和 sum 输出到文件 out.dat 中。4输出要求的数据。组长签名:年月日教师评语教师签名:200年月日第一部分第一部分 系统概述系统概述1 1、程序功能:、程序功能:随着计算机的发展和普及,在许多领域计算机都有着广泛的应用,我们可通过计算机程序对一些数学问题进行分析。 本
3、程序能快速简洁地对 100 以内的素数进行统计和分析。它能找出所有 100 以内(含 100)满足 I,I+4,I+10 都是素数的整数I(I+10 也在 100 以内)的个数 cnt 以及这些 I 之和 sum。, 最后输出到文件中,并将其显示到显示器上。2 2、程序结构、程序结构该程序主要分为以下几个模块, 分别为: 主函数卖弄 main()、 printf( )函数(输出函数)、 isprime()函数 countvalue()函数、writedat()函数及 fopen()函数。第二部分第二部分数据结构设计数据结构设计21、定义相关变量:定义一个相关的基本信息,本程序定义了符合条件的
4、I 的个数 cnt 这些 I之和 sum 。如下面所所示:int cnt, sum ;int isprime(int number)2、循环结构设计:程序中定义是一个 for 循环结构:int i, tag = 1 ;for(i = 2 ; tag & i= number / 2 ; i+)if(number % i = 0) tag = 0 ;return tag ;该循环结构主要用于对素数的判断。3、函数定义:程序中定义了 2 个功能函数,它们是对符合条件的 I 个数进行统计的函数 countvalue() ,还有把结果 cnt 和 sum 输出到文件out.dat 的函数 writeDa
5、t(),最后是主函数 main()来调用以上 2 个函数。主函数main()第三部分第三部分模块设计模块设计3调用Isprime()函数countvalue()函数writedat()函数第四部分第四部分 调试运行及操作说明调试运行及操作说明题目:题目:下列程序的功能是:找出所有下列程序的功能是:找出所有 100100 以内以内( (含含 100)100)满足满足 I I,I+4I+4,I+10I+10 都是都是素数的整数素数的整数 I(I+10I(I+10 也在也在 100100 以内以内) )的个数的个数 cntcnt 以及这些以及这些 I I 之和之和 sumsum。 请编写函数请编写函
6、数countValue()countValue()实现程序要求,最后调用函数实现程序要求,最后调用函数 writeDat()writeDat()把结果把结果 cntcnt 和和 sumsum 输出输出到文件到文件 out.datout.dat 中。中。(1)调试中遇到的主要问题及解决办法fp = fopen(“”)不能执行,主要原因为:未定义文件FILE *fp,致使writedat() FILE; fp ; fp = fopen(bc9.out, w) ; fprintf(fp, %dn%dn, cnt, sum) ; fclose(fp) ; 中的 FILE;fp;程序无法识别。(2)实验
7、结果(3)退出程序4第五部分第五部分总结和体会总结和体会开始学编程的时候,真的是什么的不懂,看着天书一般的程序,头皮都发麻。有时候,看着别人顺利的读出程序,写出自己的小设计,那种羡慕和失落,那种无奈叫人无法承受。不甘的学习,不停的努力,我不想放弃!慢慢的, 我能读程序了, 渐渐的, 我也不再恐惧和失落了。天书一般的程序,也渐渐的向我展示出它的内蕴。老师不怕我底子薄,不怕麻烦,将每一道题都讲的仔仔细细,我照着老师的话去做,不断地去学习,多花时间去看。很多的概念性问题,我都一一克服了,于是,在上机考试中,我顺利的答出了题目。可是,在这次的程序设计中,我又感觉到那种失败的感觉。刚开始时我不断的发现着
8、错误,不断的进步。可是到最后,我的程序还是没能运行,甚至远没有我原先预想的那样-很失落,不过最后我终于认识到一点: 结果很重要,但是过程更需重视,我成长了,我也就获得了。我希望,在下学期的等考中,我的成长可以得到体现,我的付出不会落空!第六部分第六部分程序源代码程序源代码#include #include int cnt, sum ;int cnt, sum ;int isprime(int number)int isprime(int number) 5 int i, tag = 1 ; int i, tag = 1 ; for(i = 2 ; tag & i= number / 2 ; i
9、+) for(i = 2 ; tag & i= number / 2 ; i+) if(number % i = 0) tag = 0 ; if(number % i = 0) tag = 0 ; return tag ; return tag ; void countvalue()void countvalue() int a,b,i; int a,b,i; for(i=3;i90;i+) for(i=3;i90;i+) if(isprime(i) if(isprime(i) a=i+4; a=i+4;if(isprime(a)if(isprime(a) b=i+10; b=i+10; if
10、(isprime(b) if(isprime(b) cnt+; cnt+; sum+=i; sum+=i; void main()void main() cnt = sum = 0 ; cnt = sum = 0 ; countvalue() ; countvalue() ; printf( printf(满足条件的整数的个数满足条件的整数的个数=%dn, cnt) ;=%dn, cnt) ; printf( printf(满足条件的整数的和值满足条件的整数的和值=%dn, sum) ;=%dn, sum) ;6 FILE *fp; FILE *fp; char ch; char ch;writedat()writedat() FILE *fp ; FILE *fp ; fp = fopen(out.dat, w) ; fp = fopen(out.dat, w) ; fprintf(fp, %dn%dn, cnt, sum) ; fprintf(fp, %dn%dn, cnt, sum) ; fclose(fp) ; fclose(fp) ; 指导教师:指导教师:7年年日日月月