预备:产生随机数的方法
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i,ran_num;
srand(time(0));
for(i=0; i<10; i++)
{
ran_num = rand() % 6 + 1; //ran_num将在1~6之间。
printf("%d ", ran_num);
}
printf("\n");
return 0;
}
设计一个程序,帮助小学生练习10以内的加法
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int sum=0;//学生答对题目
int a,b,d,t; //分别表示两个运算数,正确答案及学生输入的答案
int i;
srand(time(0)); //初始化随机种子
for(i=0; i<10; i++)
{
printf("第 %d 题: ", i+1);
a=rand()%10+1;
b=rand()%10+1;
d=a+b; //得到正确答案
printf("%d+%d=", a, b);
scanf("%d", &t);
if(t==d) //用户输入的答案与正确答案对比
{
printf(" right! \n");
sum++;
}
else
printf(" wrong! \n");
}
printf("共答对了%d道题,得分%d\n", sum, sum*10);
return 0;
}
拓展:小学生算术能力测试系统
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int sum=0;
int a,b,d,t;
int c; //0-加 1-减 2-乘 3-除
int i;
srand(time(0));
for(i=0; i<10; i++)
{
//1. 产生算式
a=rand()%100+1;
b=rand()%100+1;
c=rand()%4;
if(a<b&&(c==1||c==3))
{
d=a;
a=b;
b=d;
}
if(c==3)
a=(a/b)*b;
//2. 显示算式
printf("第 %d 题: ", i+1);
switch(c)
{
case 0:
d=a+b;
printf("%d+%d=", a, b);
break;
case 1:
d=a-b;
printf("%d—%d=", a, b);
break;
case 2:
d=a*b;
printf("%d×%d=", a, b);
break;
case 3:
d=a/b;
printf("%d÷%d=", a, b);
break;
}
//3. 接受答案并判断对错
scanf("%d", &t);
if(t==d)
{
printf(" right! \n");
sum++;
}
else
printf(" wrong! \n");
}
printf("共答对了%d道题,得分%d\n", sum, sum*10);
return 0;
}