ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:453.33KB ,
资源ID:864669      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-864669.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(判断101-200之间有多少个素数并输出所有素数C语言课程设计报告.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

判断101-200之间有多少个素数并输出所有素数C语言课程设计报告.doc

1、自动化与电气工程学院 C语言课程设计C语言程序设计课程设计目录1 基本题目- 0 -2 改错题目- 2 -a. 学生基本信息录入- 4 -1 基本题目1.1 题目判断101-200之间有多少个素数,并输出所有素数。1.2 题目分析 (1)程序分析:采用的算法是让n被i除(i的值从2变到sqrt(n),如果n能被2至sqrt(n)之中任何一个整数整除,则表示n肯定不是素数,不必再继续被后面的整数除,因此可以提前结束循环。若不能被其中的任一整数整除,则在完成最后一次循环后,i还要加1,因此i=k+1,然后才终止循环。若i的值k+1,则表明未曾被整除过,因此计数变量t加1。其中m用来控制每行输出10

2、个数。开始 (2)流程图: n=101,t=0 n200 N k=sqrt(n) i=2 Y ik t=t+1 Ni整除n 输出n i=i+1 Y 输出t N break Y结束 图1 基本题目流程图1.3 程序 #include#includeint main()int n,k,i,m=0,t=0;for(n=101;n=200;n=n+2)k=sqrt(n);for(i=2;i=k+1)printf(%d ,n);m=m+1;t=t+1;if(m%10=0)printf(n);printf(101200之间有%d个素数,t);printf(n);return 0;1.4 程序的运行结果 图

3、2 基本题目运行结果 开始2 改错题目 sum=0 i=02.1 改正后程序#include i5#include main() N输出sumint i; Y输入一个数 int sum=0,k;for(i=0;i5;i+) 结束 sum=sum+k printf(input a number:);scanf(%d,&k); i=i+1sum+=k;printf(the sum is %d,sum); 图3 改错题流程图2.2 程序运行结果 图4 改错题目运行结果 解释:该程序用以逐个输入5个数,然后求它们的和值。3 综合题目3.1 题目综合题目为:班级档案管理系统。3.2 数据结构 char

4、name20; char num15; char sex10; int age; char adds200; int tel; 下表构成本系统的基本数据库:姓名学号性别年龄备注电话charcharcharintcharint 图5 基本数据库3.3 程序的主要功能1. 本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2. 本系统显示这样的菜单:请选择系统功能项: a. 学生基本信息录入 b. 学生基本信息显示c. 学生基本信息保存d. 学生基本信息删除e. 学生基本信息修改(要求先输入密码)f. 学生基本信息查询(1) 按学号查询(2) 按姓名查询

5、(3) 按性别查询(4) 按年龄查询g. 退出系统3. 执行一个具体的功能之后,程序将重新显示菜单。4. 将学生基本信息保存到文件中。5. 进入系统之前要先输入密码。 开始 从菜单中选择 录入? NN 显示? Y N 保存? N 删除? Y N 修改? Y Y N 查询? N 退出 Y Y 调用相应子函数 结束 图6 综合题主函数流程图3.4 各函数的功能主函数通过switch语句分支进行选择。分别调用了函数Input(),Display(),Delete- a- record(),Query-a- record(),Change(),Writeto Text()来分别实现信息的录入,显示,删

6、除,查找,修改,保存的命令。 开始 开始 i=1 i=0 i10 in+1 输入 显示 Y i=i+1 i=i+1 返回 返回 图7 录入子函数流程图 图8 显示子函数流程图 开始 开始输入对象 选择查询方式 进入相应方式 满足 N 输入内容 删除对象 Y 查询结果 顺序更新 返回 返回 图9 删除子函数流程图 图10 查询子函数流程图 开始 开始 输入密码输入文件名 密码正确打开文件成功 N 输入姓名 Y 保存数据逐项进行 修改 关闭文件 修改成功 返回 返回图11 修改子函数流程图 图12 保存子函数流程图3.5 源程序#include #include#include typedef s

7、truct char sex10; /*性别*/ char name20; /*姓名*/ char num15; /*学号*/ char adds200; /*备注*/ int age; /*年龄*/ int tel; /*电话*/Person; Person pe80; int menu_select() char c; do system(cls); printf(tt 班级档案n); printf(tt n); printf(tt 1. 添加记录 n); printf(tt 2. 显示记录 n); printf(tt 3. 删除记录 n); printf(tt 4. 查询记录 n); p

8、rintf(tt 5. 修改记录 n); printf(tt 6. 保存记录 n); printf(tt 0. 退出程序 n); printf(tt n); printf(tt 请您选择(0-6):); c=getchar(); while(c6); return(c-0); int Input(Person per,int n) int i=0; char sign,x10; while(sign!=n&sign!=N) printf(t学号:); scanf(t%s,pern+i.num); printf(t姓名:); scanf(t%s,pern+i.name); printf(t性别:

9、); scanf(t%s,pern+i.sex); printf(t年龄:); scanf(t%d,&pern+i.age ); printf(t备注:); scanf(t%s,pern+i.adds); printf(t电话:); scanf(t%d,&pern+i.tel); printf(nt是否继续添加?(Y/N); scanf(t%c,&sign); i+; return(n+i); void Display(Person per,int n) int i; printf(-n); /*格式*/ printf( 班级中符合条件的同学为: n); printf(-n); for(i=1

10、;i1&i%10=0) printf(t-n); printf(t); system(pause); printf(t-n); printf(-n); system(pause); int Delete_a_record(Person per,int n) char s20; int i=0,j; printf(t请输入想删除记录中的名字:); scanf(%s,s); while(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t(3)班级中没有此人!n); return(n); for(j=i;jn-1;j+) strcpy(perj.num,p

11、erj+1.num); strcpy(perj.name,perj+1.name); strcpy(perj.adds,perj+1.adds); strcpy(perj.sex,perj+1.sex); perj.age=perj+1.age; printf(ttt已经成功删除!n); return(n-1); void Query_a_record(Person per,int n) int m; printf(tn请选择查询方式:n); printf(tn); printf(t1-学号 n); printf(t2-姓名 n); printf(t3-性别 n); printf(t4-年龄

12、n); printf(t5-返回 n); printf(tn); printf(请选择:); scanf(%d,&m); while(m!=1&m!=2&m!=3&m!=4&m!=5) printf(输入错误,请重新选择:); scanf(%d,&m); if(m=1) char s20; int i=0; printf(t请输入想查询人的学号:); scanf(t%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t(3)班级中没有此人!n); return; printf(t此人姓名: %sn,peri.name); prin

13、tf(t此人年龄: %dn,peri.age); printf(t此人性别: %sn,peri.sex); printf(t此人备注: %sn,peri.adds); ; if(m=2) char s20; int i=0; printf(t请输入想查询人的姓名:); scanf(t%s,s); while(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t(3)班级中没有此人!n); return; printf(t此人学号: %sn,peri.num); printf(t此人年龄: %dn,peri.age); printf(t此人性别: %sn

14、,peri.sex); printf(t此人备注: %sn,peri.adds); ; if(m=3) char s20; int i=0; printf(t请输入想查询人的性别:); scanf(t%s,s); while(strcmp(peri.sex,s)!=0&in) i+; if(i=n) printf(t(3)班级中没有此人!n); return; printf(t此人学号: %sn,peri.num); printf(t此人年龄: %sn,peri.name); printf(t此人性别: %dn,peri.age); printf(t此人备注: %sn,peri.adds);

15、; if(m=4) int nian; int i=0; printf(t请输入想查询人的年龄:); scanf(%d,&nian); while(peri.age!=nian&in) i+; if(i=n) printf(t(3)班级中没有此人!n); return; printf(t此人学号: %sn,peri.num); printf(t此人年龄: %sn,peri.name); printf(t此人性别: %sn,peri.sex); printf(t此人备注: %sn,peri.adds); ;void Change(Person per,int m) char s20; int i

16、=0; char ch4,*p=199420,b;printf(请输入密码n);b=getchar();scanf(%s,ch); if(strcmp(ch,p)!=0)printf(密码错误n);else printf(密码正确n); printf(t请输入想修改的记录中的名字:); scanf(%s,s); while(strcmp(peri.name,s)!=0&im) i+; if(i=m) printf(t(3)班级中没有此人!n); return; printf(t编号:); scanf(t%s,peri.num); printf(t姓名:); scanf(t%s,peri.nam

17、e); printf(t性别:); scanf(t%s,peri.sex); printf(t年龄:); scanf(t%d,&peri.age); printf(t备注:); scanf(t%s,peri.adds); printf(t电话:); scanf(t%d,&peri.tel); printf(t修改成功!);void WritetoText(Person per,int n) int i=0; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(t保存到文件n); /*输入文件名*/ printf(t请输入所保存的文件名:

18、); scanf(t%s,filename); if(fp=fopen(filename,w)=NULL) printf(t无法打开文件n); system(pause); return; fprintf(fp,*班级档案*n); fprintf(fp, 学号 姓名 性别 年龄 备注 电话 n); fprintf(fp,-n); while(in) fprintf(fp,%-3st%-6st%-13st%-10dt%-20st%-10dn,peri.num,peri.name,peri.sex,peri.age,peri.adds,peri.tel ); i+; fprintf(fp,-n);

19、 fprintf(fp,*有%d条记录*n,n); fclose(fp); /*关闭文件*/ printf(保存成功!n); void main() /*主函数*/ int n=0; char *a=199420,b7;printf(请输入密码n);gets(b);if(strcmp(a,b)=0) for(;) switch(menu_select() case 1: printf(nt添加学生档案n); /*添加记录*/ n=Input(pe,n); break; case 2: printf(nttt 班级记录表n); /*显示记录*/ Display(pe,n); break; cas

20、e 3: printf(nt从班级中删除记录n); n=Delete_a_record(pe,n); /*删除记录*/ printf(t); system(pause); break; case 4: printf(nt在班级中查找记录n); Query_a_record(pe,n); /*查找记录*/ printf(t); system(pause); break; case 5: printf(nt修改班级中的记录n); Change(pe,n); /*修改数据*/ printf(t); system(pause); break; case 6: printf(nt保存功能n); Writ

21、etoText(pe,n); /*保存数据*/ printf(t); system(pause); break; case 0: printf(ntt谢谢使用,再见!n); /*结束程序 */ printf(ntt); system(pause); exit(0); else printf(error!n);3.6 程序运行结果 图13 综合题目运行结果4 结论与体会 结论:在本次课程设计中,老师给我们布置了相应题目。然后我通过查阅相关资料,以及通过在几次答疑时和同学讨论并请教老师把我的基本题目(判断101-200之间有多少个素数,并输出所有素数)和改错题目(逐个输入5个数,然后求它们的和值)

22、很好地做完了。然后和小组内的同学共同协作,通过讨论,请教老师,并查阅资料,扬长避短,把综合题目(班级档案管理系统)完成了。体会:通过这3周C课程设计,我认识到C语言这门课需要经常上机练习。在完成题目的时候锻炼了自己的实践能力,巩固了所学的理论知识。在过程中遇到了不少问题,但都在老师的帮助下解决了。在此次课程设计中。我体会到了编程的快乐与辛苦。当做第三题时,我体会到了合作学习的重要性与必要性。在其中因为自己能力的有限而有时会气馁,但最后还是通过查阅资料,小组讨论,请教老师完成了这次课程设计。让我认识到做事要认真,多思考,多交流,在失败时不气馁,时刻以坚定的毅力与足够的耐心对待每一个考验。总之,我认识到不管做啥事都应该静心去思考,和别人多交流,多请教别人,并踏实地走完每一步就能靠近自己的理想。最后感谢小组内的其他成员对我的帮助,以及费老师的耐心指导,这次真的学到了许多平时学不到的东西。- 15 -

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922