1、 南京航空航天大学金城学院 《C语言程序设计》课程设计 试验汇报 题目: _ 小学生测验 班级: 学号: 姓名: 成绩: 指导老师: 完成日期: 年 月 日 目录 一、程序关键功效 二、系统总框架图 三、
2、各模块功效 四、功效模块图 五、程序结构步骤图 六、试验结果 七、编程体会 八、参考资料 九、附录:程序清单及源程序 一、程序关键功效 (1)依据随机题目填写答案 (2)共有三次机会答题,每次分数不一样 (3)三次错误,自动开始下一题 (4)得出分数和评价 二、系统总框架图 主函数 用户填写问题答案 答题完成,显示得分和评价 退出程序 三、 各模块功效 int subject() //答题函数 void output(int t)//得分和评价输出函数 main() //主函数 四、 功效模块图
3、 下一题 答题开始 Main()主函数 答题结束,得到得分和评价 答题正确 答题错误 答题错误 答题错误 五、 程序结构步骤图 开始 结束 输出得分 下一题 答题正确 答题 六、 试验结果 七、 编程体会 本程序关键在于怎么设计随机数,怎么依据每到题回复次数,给出对应分数和怎么设计随机加减法。在设计随机加减问题上,我想到了奇偶数方法。利用srand()和rand()函数随机取一个值,然后将这个值和2取余,然后就有0和1两种随机情况,各定义为加减法导入条件。 八、 参考资料 (1)CSDN博
4、客频道:
(2)baidu文库:
(3)道客巴巴:
(4)baidu帖吧:
九、 附录:程序清单及源程序
#include
5、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<=50*/ n=rand()%2; /*使n在0,1中随机取值*/ if(n==0) /*当n为0时,给出加法题目*/ { printf("第%d题:%d + %d = ? \n",i,a,c); for(j=3;j>=1;j--) /
6、当j=3时,表示有三次答题机会,答对则退出循环*/ { printf("你答案是(你还有%d次回复机会):",j); scanf("%d",&k); if(k==b) { printf("回复正确!\n\n"); cj=cj+r[j][1]; /*将所得分数进行累加*/ break; } else
7、{ printf("回复错误!\n"); } } if(j==0) printf("三次机会全部用完了,正确答案是%d\n别气馁,继续下一道题!\n\n",b); } else /*当n为1时,给出减法题目*/ { printf("第%d题:%d - %d = ? \n",i,b,c); for(j=3;j>=1;j--) /*当j=3时,表示有三次答题机会,答对则退出循环
8、/ { printf("你答案是(你还有%d次回复机会):",j); scanf("%d",&k); if(k==a) { printf("回复正确!\n\n"); cj=cj+r[j][1]; /*将所得分数进行累加*/ break; } else { printf("回复错误!\n");
9、 } } if(j==0)printf("三次机会全部用完了,正确答案是%d\n别气馁,继续下一道题!\n\n",a); } } return cj; } void output(int t) { printf("\n 你得分是:%d\n",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("\n\n 此次测验到此结束!"); } main() { int grade; grade=subject(); output(grade); }
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818