作 者:蔡伟
完成日期:2017.1.5
题目描述:
1.利用随机函数出十道加法题;
2.小学生用户答题,给出每道题的答案;
3.对小学生答案进行评判;
4.计算小学生的答案正确率。
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
# include <time.h>
int i,a,b,c[10],k[10],x=0;
int score;
int score2;
/****************************************************************
功能描述:提供学生登入,给出题目要求。
输入参数:num-学生学号
ch-学生密码
返回值:无
*****************************************************************/
void f();
/****************************************************************
功能描述:提供补考试题。
输入参数:a,b-随机数
k[i]-学生输入答案
c[i]-正确答案
score-学生成绩
返回值:无
****************************************************************/
void retest(int score2);
int getch();
int main()
{
f();
srand((unsigned)time(NULL));
srand(time(NULL));
for(i=0; i<10; i++)
{
printf("第%d题: ",i+1);
a=(rand())%100+1;
b=(rand())%100+1;
printf("%d+%d=",a,b);
scanf("%d",&k[i]);
c[i]=a+b;
if(k[i]==c[i])
{
x++;
}
score=x*10;
}
printf("正在计算您的成绩请稍等...");
Sleep(2000);
printf("本次测验成绩为:");
printf("%d\n",score);
printf("本次测验的正确率为:");
printf("%%");
printf("%d\n",score);
if(score<60)
retest(score2);
if(score2>60)
{
printf("恭喜!您顺利通过了本次测验\n");
}
else
{
printf("很遗憾您本次测验未及格\n");
}
printf("欢迎下次使用");
printf("\n\n");
printf("按任意键退出");
return 0;
}
void f()
{
printf("欢迎使用本操作系统\n");
Sleep(1000);
printf("\n");
printf("\n");
int num,ch;
printf("请输入学号:\n");
scanf("%d",&num);
printf("请输入密码:\n");
while((ch=getch())!='\r')
{
putchar('*');
}
printf("\n");
printf("登录中...\n");
Sleep(1500);
printf("welcome\n");
printf("开始答题\n");
printf("本次测验共10小题,每小题10分,满分100分。\n");
printf("您有15分钟的时间去答题\n");
Sleep(500);
}
void retest(int score2)
{
{
printf("很遗憾您未通过本次考试\n");
printf("两秒后自动跳转至补考页面\n");
Sleep(2000);
printf("补考开始\n");
Sleep(500);
for(i=0; i<10; i++)
{
printf("第%d题: ",i+1);
a=(rand())%100+1;
b=(rand())%100+1;
printf("%d+%d=",a,b);
scanf("%d",&k[i]);
c[i]=a+b;
if(k[i]==c[i])
{
x++;
}
score2=x*10;
}
printf("正在计算您的补考成绩请稍等...\n");
Sleep(2000);
printf("补考成绩为:");
printf("%d\n",score2);
printf("本次测验的正确率为:");
printf("%%");
printf("%d\n",score2);
}
}