心算训练小程序
源代码
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){
int a,b,c;
clock_t start,end;
int x;
double rep_time;
srand(time(NULL)); //生成种子
a=rand()%900+100;
b=rand()%900+100;
c=rand()%900+100; //生成1~999的整数
start=clock(); //开始时间
printf("%d + %d + %d 的答案是:",a,b,c);
while(1){
scanf("%d",&x);
if(x==a+b+c) break;
else printf("\a答案错误,请再次回答:");
}
end=clock(); //结束时间
rep_time=(double)(end-start)/CLOCKS_PER_SEC; //计算时间
printf("恭喜你答对了!共花时间%.1f\n",rep_time);
//速度比较
if(rep_time>30.0) printf("速度有点慢|");
else if(rep_time>17.0) printf("速度不错!");
else printf("速度非常快!");
printf("\n");
return 0;
}
实现原理
通过随机数的生成,这里的随机数的中用时间来控制,
以免生成相同的随机数在多次运算之后【随机数的生成都是通过种子,默认种子为1,也就是生成伪随机数】
控制时间的函数为clock,通过时间可以计算的速度。
笔记 2017.11.05