南京航空航天大学金城学院
《C语言程序设计》课程设计
实验报告
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目: _
小学
小学生如何制作手抄报课件柳垭小学关于三违自查自纠报告小学英语获奖优质说课课件小学足球课教案全集小学语文新课程标准测试题
生测验
班级:
学号:
姓名:
成绩:
指导教师:
完成日期: 年 月 日
目录
一、程序的主要功能
二、系统总框架图
三、各模块的功能
四、功能模块图
五、程序结构流程图
六、试验结果
七、编程体会
八、参考资料
九、附录:程序清单及源程序
一、
一、程序的主要功能
(1)根据随机题目填写
答案
八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案
(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}}; /*定义数组
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示答题次数与成绩对应 */
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);
}