四则运算

寵の児 提交于 2019-12-01 06:18:21
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <math.h>
 4 #include <time.h>
 5 #define eps 1e-6
 6 int main()
 7 {   
 8     srand(time(NULL)); 
 9     int a,b;
10     char op[5] = "+-*/";
11     int index;
12     /* 计算 */
13     printf("除法精确到小数点后2位,四舍五入!\n");
14     while(1)
15     {    //随机操作数
16         a = rand()%101;
17         b = rand()%100+1;
18         printf("请选择(输入数字):1.加法 2.减法 3.乘法 4.除法 5.随机 6.退出\n" );        
19         // 1.随机、退出、+-*/ 
20         scanf("%d",&index);
21         if(5==index)
22             index = rand()%4;
23         else if(6==index)
24             exit(0);
25         else
26             index--;
27         // 2.题目、答案输入
28         printf("%d%c%d=",a,op[index],b);
29         double answer, result;
30         scanf("%lf",&answer);
31         // 3.判题
32         switch(op[index]){
33             case '+':                
34                 result = a+b; break;
35             case '-':
36                 result = a-b; break;
37             case '*':
38                 result = a*b; break;
39             case '/':
40                 if(b==0)printf("除数不可以为零\n");//b已经处理过了
41                 else {
42                     int r = ((double)a/b+0.005)*100;//4舍5入保留2位
43                     result = (double)r/100; 
44                 }
45                 break;
46         }
47         if(fabs(result - answer)<=eps)
48             printf("对\n");        
49         else 
50             printf("错\n");
51         printf("正确答案:%.2f\n", result);    
52     }    
53     return 0;
54 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!