?? 小學生計算.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 + -