Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:小学生考试系统
作 者:王兴振
完成日期:2016年1月5日
版 本 号:未知
题目描述:
做一个小学生考试系统,功能如下:
(1)利用随机函数出十道加法题;
(2)小学生用户答题,每道题给出答案;
(3)对小学生答题进行评判;
(4)计算小学生的答题正确率。
输 入:
题的答案。
输 出:
十道题及其答案和正答率。
样例输入:
无。
样例输出:
无。
提 示:
随机出题使用随机函数,请自己查找随机函数使用。
答 案:
/*************************************************************
功能描述:为小学生出十道加法题,输出答案和正答率。
输入参数:c-用户结果
n-题的个数。
answer-存储数据的数组
q-字符。
返 回 值:答案和正答率。
其他说明:无
*************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //随机函数。
int answer[10];
void question(int n);
int main()
{
int n,pan=1;
srand((unsigned)time(NULL)); //使每一次随机数不同。
printf("开始测试:\n");
while(1)
{
if(pan==0)
break;
printf("清输入题的数量:\n");
scanf("%d", &n);
question(n);
printf("请选择:\n1-继续测试\n0-退出\n");
scanf("%d", &pan);
}
return 0;
}
void question(int n)
{
int a,b,c,i,d=0;
void result(int,int);
for(i=0; i<n; i++)
{
a=rand()%101;
b=rand()%101;//x和b的随机数范围是1到100.
printf("第%d题:\n", i+1);
printf("%d + %d = ",a,b);
scanf("%d", &c);
answer[i]=a+b;
if(answer[i]==c)
d++;//答对题的数量。
}
result(n,d);
}
void result(int n,int d)
{
int i;
char q='%'; //百分号。
float zheng;
zheng=(double)d/n;//正答率。
printf("正确答案为:\n");
for(i=0; i<n; i++)
{
printf("第%d题:%d \n", i+1,answer[i]);//输出每道题正确答案,答案用数组保存。
}
printf("你做对了 %d 道题\n正答率为: %c%.2f\n",d,q,zheng*100);
if(zheng*100<60)
printf("不及格,等死吧!\n");//纯属搞笑。
if(zheng*100==100)
printf("满分!!!\n");
}