📄 小学生计算.c
字号:
/*这是我们做的一个10以内的数学题计算程序*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int caculate(int a,int b,char c)
{
int answer;
if(c=='+')answer=a+b;
else if(c=='-')answer=a-b;
else if(c=='*')answer=a*b;
else answer=a/b;
return answer;
}
char sign()
{
char c;
srand(time(0));//初始化随机数的种子,time()函数求出自1970年1月1日到现在的秒数,
c=rand()%100;
//rand()是个伪随机数函数,它的原理是在一数(称为种子数)的基础上经过一系列的算法生成一个随机数的序列,默认种子数为0。
//并且该函数产生的随机数在0到32767之间
//再介绍一种产生[y,x+y)范围内任意数的方法 {float a; a=rand()%x+y;}
if(c<=25)c='+';
else if(c>25&&c<50)c='-';
else if(c>=50&&c<75)c='*';
else c='/';
return c;
}
void question(int a,char b,int c)
{
if (b=='+')
printf("%d+%d=",a,c);
if (b=='-')
printf("%d-%d=",a,c);
if (b=='*')
printf("%d×%d=",a,c);
if (b=='/')
printf("%d÷%d=",a,c);
}
void output(int answer)
{
int d;
for(;d!=answer;)
{
scanf("%d",&d);
getchar();//想一想,如果没了这句话会发生什么呢?
if(d==answer)
printf("恭喜你!做对了\n");
else
printf("很遗憾,你做错了,请重新思考下吧?\n答案是多少?\n");
}
}
void main()
{
int a,b,answer;
char p,c;
printf("**********欢迎使用少儿数学题程序**********\n");
for(;p!='n';)
{
c=sign();
for(;answer>10||answer<0||(c=='/'&&(answer!=a*b));)
{
srand(time(0));
a=rand()%10;
b=rand()%10;
answer=caculate(a,b,c);
}
printf("请写出下面题目的答案 \n");
question(a,c,b);
output(answer);
printf("继续吗?[否]请输入n,[是]请输入任意键\n");
scanf("%c",&p);
answer=11;//为什么要这样赋值呢?
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -