1、南京航空航天大学金城学院C语言程序设计课程设计试验汇报题目: _ 小学生测验 班级: 学号: 姓名: 成绩: 指导老师: 完成日期: 年 月 日目录一、程序关键功效二、系统总框架图三、各模块功效四、功效模块图五、程序结构步骤图六、试验结果七、编程体会八、参考资料九、附录:程序清单及源程序一、程序关键功效(1)依据随机题目填写答案(2)共有三次机会答题,每次分数不一样(3)三次错误,自动开始下一题(4)得出分数和评价二、系统总框架图主函数用户填写问题答案答题完成,显示得分和评价退出程序三、 各模块功效int subject() /答题函数void output(int t)/得分和评价输出函数m
2、ain() /主函数四、 功效模块图下一题答题开始Main()主函数 答题结束,得到得分和评价答题正确答题错误答题错误答题错误五、 程序结构步骤图开始结束输出得分下一题答题正确答题六、 试验结果七、 编程体会本程序关键在于怎么设计随机数,怎么依据每到题回复次数,给出对应分数和怎么设计随机加减法。在设计随机加减问题上,我想到了奇偶数方法。利用srand()和rand()函数随机取一个值,然后将这个值和2取余,然后就有0和1两种随机情况,各定义为加减法导入条件。八、 参考资料(1)CSDN博客频道:(2)baidu文库:(3)道客巴巴:(4)baidu帖吧:九、 附录:程序清单及源程序#inclu
3、de#include#includeint subject()int a,b,c,i,j,n,k,cj=0,r42=0,0,1,5,2,7,3,10; /*定义数组表示答题次数和成绩对应 */ srand(time(0);printf(-小学生测验-nn);for(i=1;i=10;i+) a=rand()%51;b=rand()%(51-a)+a; /*给a,b赋随机值,且0=a=b=50*/c=b-a; /*则c也为随机变量,且0=a,c=b=1;j-) /*当j=3时,表示有三次答题机会,答对则退出循环*/ printf(你答案是(你还有%d次回复机会):,j); scanf(%d,&k
4、); if(k=b) printf(回复正确!nn); cj=cj+rj1; /*将所得分数进行累加*/ break; else printf(回复错误!n); if(j=0) printf(三次机会全部用完了,正确答案是%dn别气馁,继续下一道题!nn,b); else /*当n为1时,给出减法题目*/ printf(第%d题:%d - %d = ? n,i,b,c); for(j=3;j=1;j-) /*当j=3时,表示有三次答题机会,答对则退出循环*/ printf(你答案是(你还有%d次回复机会):,j); scanf(%d,&k); if(k=a) printf(回复正确!nn);
5、cj=cj+rj1; /*将所得分数进行累加*/ break; else printf(回复错误!n); if(j=0)printf(三次机会全部用完了,正确答案是%dn别气馁,继续下一道题!nn,a); return cj;void output(int t)printf(n 你得分是:%dn,t);printf(n 评价:);switch(t/10) case 10: case 9:printf(SMART);break; case 8:printf(GOOD);break; case 7:printf(OK);break; case 6:printf(PASS);break; default:printf(TRY AGAIN);break; printf(nn此次测验到此结束!);main()int grade; grade=subject(); output(grade);