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