码迷,mamicode.com
首页 > 其他好文 > 详细

c实现四则运算3

时间:2015-03-21 17:03:59      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

题目:

  我选择的题目是让程序能接受用户输入答案,并判定对错。最后给出总共对/错 的数量。

设计思路:

  在每种结果后添加判断语句如果正确则输出回答正确,如果错误则输出回答错误。第一次设计时已经实现了判断正误并计数,此次将第一次与第二次的融合了一下。

源代码如下:

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include <time.h>
  4 int main()
  5 {  
  6     int  tiLiang,rangeOfValues,ifMulDiv,ifFuShu,ifYuShu,numPerHang;
  7     int  x,y,z,temp,result,m=0,rightNumber=0;
  8     printf("输入测试数量:");
  9     scanf("%d",&tiLiang);
 10     printf("输入数值范围:");
 11     scanf("%d",&rangeOfValues);
 12     printf("是否有乘除法(1表示有,其他字符表示没有):");
 13     scanf("%d",&ifMulDiv);
 14     printf("是否允许减法结果为负数(1表示允许,其他字符表示不允许):");
 15     scanf("%d",&ifFuShu);
 16     printf("除法结果有无余数(1表示允许,其他字符表示不允许):");
 17     scanf("%d",&ifYuShu);
 18 
 19     srand((unsigned) time(NULL));   //设置种子
 20     for(int i=0;i<tiLiang;i++)        //进行 题目数量 次循环
 21     {
 22         x=rand()%rangeOfValues;        //控制数值范围
 23         y=rand()%rangeOfValues;
 24 
 25         if(ifMulDiv==1)                //控制有无乘除法
 26             z=rand()%4;                //根据z的值随机出现四则运算
 27         else
 28             z=rand()%2;    
 29 
 30         if(z==0)
 31         {
 32             printf("%d+%d=",x,y); 
 33             scanf("%d",&result);
 34             if(result==x+y)            
 35             {                          
 36                 printf("厉害,对了!\n");      
 37                 rightNumber++;                  
 38             }                         
 39             else                         
 40                 printf("笨蛋,错了!\n"); 
 41                       
 42         }  
 43 
 44         if(z==1) 
 45         {   
 46             if(ifFuShu != 1)
 47             {
 48                 temp=x;
 49                 x=y;
 50                 y=temp;
 51                 printf("%d-%d=",x,y);
 52                 scanf("%d",&result);              
 53                 if(result==x-y)            
 54                 {                             
 55                     printf("厉害,对了!\n");       
 56                     rightNumber++;                   
 57                 }                             
 58                 else                          
 59                     printf("笨蛋,错了!\n");    
 60             }
 61         
 62             else
 63             {
 64                 printf("%d-%d=",x,y); 
 65                 scanf("%d",&result);              
 66                 if(result==x-y)            
 67                 {                             
 68                     printf("厉害,对了!\n");       
 69                     rightNumber++;                   
 70                 }                             
 71                 else                          
 72                     printf("笨蛋,错了!\n");    
 73             }             
 74         } 
 75 
 76         if(z==2) 
 77         {
 78             while((ifYuShu != 1)&&(x%y != 0))
 79             {
 80                 x=rand()%rangeOfValues;    
 81             }
 82             while(y==0)
 83             {
 84                 y=rand()%rangeOfValues;    
 85             }
 86             printf("%d÷%d=",x,y);
 87             scanf("%d",&result);
 88             if(result==x/y)        
 89             {                         
 90                 printf("厉害,对了!\n");   
 91                 rightNumber++;               
 92             }                         
 93             else                      
 94                 printf("笨蛋,错了!\n");    
 95         }    
 96         
 97         if(z==3)
 98         {    
 99             printf("%d*%d=",x,y);  
100             scanf("%d",&result);                   
101             if(result==x*y)                  
102             {                                   
103                 printf("厉害,对了!\n");             
104                 rightNumber++;                         
105             }                                  
106             else   
107                 printf("笨蛋,错了!\n"); 
108          }   
109     }
110     printf("\n本次测试做对了%d个\n",rightNumber);
111     return 0;
112 }

运行结果如下:
技术分享

实验总结:

  本次实验是前两次实验的结合,不难。由于本人实力有限,要是选择其它题目,很难按时发表博文,所以选择了第一题。

c实现四则运算3

标签:

原文地址:http://www.cnblogs.com/duang/p/4355780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!