问题及代码:
/*烟台大学计算机学院
题目描述:1.做一个小学生考试系统,功能包括:
(1)利用随机数出10道加法题;
(2)小学生用户答题给出每道题的答案;
(3)对小学生的答题进行评判;
(4)计算出小学生答题正确率。
作者;景怡乐
完成时间:2016年11月8日
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,c,d;
int i,sum=0;
srand(time(0));
for (i=1;i<=10;i++)
{
printf("第%d题:",i);
a=rand()%10+1;
b=rand()%10+1;
c=a+b;
printf("%d + %d = ",a,b);
scanf("%d",&d);
if (c==d)
{
printf("Yes!\n");
sum++;
}
else
printf ("No!\n");
}
printf("做对了%d道题,共得到了%d分,得分率为%.2f !",sum,sum*10,(1.0*sum)/10);
return 0;
}
运行结果:
知识点总结:随机数产生方法:首先给srand( )提供一个种子,然后调用rand,它会根据提供给srand( )的种子值返回一个随机数。
根据需要多次调用rand( ),从而不间断地得到新的随机数。
无论什么时候,都可以给srand()提供一个新的种子,从而进一步随机化。