四则运算

include <stdio.h>
#include <stdlib.h>
void main() {  
int n=0,count=0;  printf("\n欢迎使用小学生四则运算练习软件\n");  
int ch=0;
 printf("\n欢迎使用小学生四则运算练习软件\n\n");
 while(1)
 {
  if(count==10)
  {
   printf("恭喜你在10道练习里做对了%d题! \n",n);
   printf("\t1.继续练习\n\t2.退出");
   scanf("%d",&ch);
   if(ch==2)
   {
   break;
   }
  }
 n+=yusuan();  count++;  
}
}
int yusuan()
{  
int ranswer=0;   //正确答案  
int uanswer=0;   //用户输入的答案  
int t=0,n=0;    //临时变量  
char op;       //运算类别  
int num1=0;    //操作数1  
int num2=0;    //操作数2
 srand(time(NULL));  //初始化随机数  
num1=rand()%10;   //取0—9之间的随机数  
num2=rand()%10;  
n=rand()%4+1;  switch(n)  
{   case 1:    op='+';    break;
  case 2:    op='-';    break;
  case 3:    op='*';    break;
  case 4:    op='/';    break;
 }
//加入一条防止“不够减”的语句,当选择减法且num1小于num2时不够减
//不够减的时候,用临时变量交换两个操作数
 if((op=='-') && (num1<num2))
 {   t=num1;
  num1=num2;
  num2=t;  
}
//防止“除数为0”的程序漏洞
//当num2被随机取值到0时,就将num2强制置为1
//做除法时,将num1的值强制赋值给num1*num2,防止不能整除  
if(op=='/')  
{   
if(num2==0)
  {    num2=1;   }   
num1=num1*num2;   
//防止num1不能被num2整除的语句  }
//输出测试题本身、提示用户输入  
printf("   %d%c%d= ",num1,op,num2);  
scanf("%d",&uanswer);
//程序计算正确结果  
switch(op)
 {   case '+':   ranswer=num1+num2;   break;
  case '-':   ranswer=num1-num2;   break;
  case '*':   ranswer=num1*num2;   break;
  case '/':   ranswer=num1/num2;   break;  
}
//评判,做对返回1,做错返回0
 if(uanswer==ranswer)
 {   printf("\t做对了!\n");  
 return 1;  
}  else
 {   printf("\t做错了!\n");  
 return 0;  }
}

运行结果: