C语言程序的设计课程设计小学生测验

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

航空航天大学金城学院

《C语言程序设计》课程设计

实验报告

题目: _ 小学生测验

班级:

学号:

成绩:

指导教师:

完成日期:年月日

目录

一、程序的主要功能

二、系统总框架图

三、各模块的功能

四、功能模块图

五、程序结构流程图

六、试验结果

七、编程体会

八、参考资料

九、附录:程序清单及源程序

一、程序的主要功能

(1)根据随机题目填写答案

(2)共有三次机会答题,每次分数不同

(3)三次错误,自动开始下一题

(4)得出分数和评价

二、系统总框架图

三、各模块的功能

int subject() //答题函数

void output(int t)//得分和评价输出函数

main() //主函数

四、功能模块图

五、程序结构流程图

六、试验结果

七、编程体会

本程序关键在于怎么设计随机数,怎么根据每到题的回答次数,给出相应的分数以及怎么设计随机加减法。在设计随机加减问题上,我想到了奇偶数的方法。利用srand()和rand()函数随机取一个值,然后将这个值和2取余,然后就有0和1两种随机情况,各定义为加减法的导入条件。

八、参考资料

(1)CSDN博客频道:

(2)百度文库:

(3)道客巴巴:

(4)百度帖吧:

九、附录:程序清单及源程序

#include

#include

#include

int subject()

{

int

a,b,c,i,j,n,k,cj=0,r[4][2]={{0,0},{1,5},{2,7},{3,10}}; /*定义数组表示答题次数与成绩对应 */

srand(time(0));

printf("--------------小学生测验--------------\n\n");

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<=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--) /*当j=3时,表示有三次答题机会,答对则退出循环*/

{

printf("你的答案是(你还有%d次回答的机会):",j);

scanf("%d",&k);

if(k==b)

{

printf("回答正确!\n\n");

cj=cj+r[j][1]; /*将所得分数进行累加

*/

break;

}

else

{

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时,表示有三次答题机会,答对则退出循环*/

{

printf("你的答案是(你还有%d次回答的机会):",j);

scanf("%d",&k);

if(k==a)

{

printf("回答正确!\n\n");

cj=cj+r[j][1]; /*将所得分数进行累加*/

break;

}

else

{

printf("回答错误!\n");

}

}

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);

}

.. .. .. ..

相关文档
最新文档