#include<stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
 int a,b,c,n,u,i,sum;
 int resultTrue=0;
 int answer;
 int time;
 char op,op2;
 do//产生随机数
 {
  a=rand()%100+1;
  b=rand()%100+1;
  c=rand()%100+1;
  n=rand()%4+1;
  u=rand()%4+1;
  switch(n)
  {
  case 1://含有一个运算符
   {
       switch(u%4)//产生运算符
    {
         case 0:
       {
         op='+';
         break;
       }
         case 1:
       {
        op='-';
         break;
       }
         case 2:
       {
          op='*';
       break;
       }
         case 3:
       {
       op='/';
       break;
       }
    }
           printf("%d%c%d=\n",a,op,b);//打印
           switch(op)//通过运算符计算答案
     {
          case '+':
        {
            resultTrue=a+b;
             break;
        }
          case '-':
        {
        resultTrue=a-b;
        break;
        }
          case '*':
        {
        resultTrue=a*b;
        break;
        }
          case '/':
        {
        resultTrue=a/b;
        break;
        }
     }
     while(time<121)
     {
      printf("请输入正确答案(时间为两分钟):");
         scanf("%d",&answer);
        if(time==120)
     {
       printf("时间到,无法答题\n");
    time=0;
       break;
     }
       if(time<120)
    {
     if(answer==resultTrue)
     {
    printf("答案正确\n");
    break;
     }
   else
   {
    printf("答案错误\n");
    break;
   }
    }
     }
   }
  case 2://产生两个运算符
   {
    switch(u%4)//第一个运算符产生
    {
        case 0:
      {
             op='+';
              break;
      }
              case 1:
      {
             op='-';
             break;
      }
              case 2:
      {
            op='*';
            break;
      }
              case 3:
      {
            op='/';
            break;
      }
    }
    switch(u%4)//第二运算符产生
    {
      case 0:
       {
                 op2='+';
                 break;
       }
                  case 1:
       {
                op2='-';
                break;
       }
                  case 2:
       {
                op2='*';
                break;
       }
                  case 3:
       {
                op2='/';
                break;
       }
    }
        printf("%d%c%d%c%d=\n",a,op,b,op,c);//打印
    switch(op)//计算答案先通过第一个运算符计算
    {
        case '+':
      {
          sum=a+b;
          break;
      }
        case '-':
      {
      sum=a-b;
      break;
      }
        case '*':
      {
       sum=a*b;
       break;
      }
       case '/':
     {
      sum=a/b;
      break;
     }
    }
     switch(op2)//然后再根据第二运算符计算
     {
            case '+':
       {
              sum=sum+c;
              break;
       }
            case '-':
       {
           sum=sum-c;
           break;
       }
            case '*':
       {
          sum=sum*c;
          break;
       }
            case '/':
       {
           sum=sum/c;
           break;
       }
     }
     while(time<123)//时间设置
     {
        printf("请输入正确答案(时间为两分钟):");
         scanf("%d",&answer);
        if(time==120)
     {
       printf("时间到,无法答题\n");
    time=0;
       break;
     }
       if(time<120)
    {
     if(answer==sum)
     {
    printf("答案正确\n");
    break;
     }
   else
   {
    printf("答案错误\n");
    break;
   }
    }
    }
     }
      }
   }while(1);
   }

201306114357-实验3-C语言的更多相关文章

  1. 实验七 MySQL语言结构

    实验七 MySQL语言结构 一.  实验内容: 1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用 二.  实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为 ...

  2. 实验报告系列:实验一 HTML语言的简单网页制作

    实验一 HTML语言的简单网页制作 一.实验目的: 1.掌握常用的HTML语言标记: 2.利用文本编辑器建立HTML文档,制作简单网页. 3.学习将其它格式的文档转换成HTML格式的文档 二.实验内容 ...

  3. GPIO实验之c语言

    上一章节进行实验使用的是汇编进行编程的,本次实验是使用c语言进行编写的. (1)点亮一个led灯   1)启动文件:    crt.S   .text   .global _start   _star ...

  4. 实验1 C语言开发环境使用和数据类型、运算符、表达式

    ♦ 实验结论 PART 1 验证性内容 问题: 1.结尾没有加“:”时回车到下一行的时候再输入下一行的语言首字对齐方式会发生变化,可以对上一行进行检查. (这一点需要在不同软件里面试一下,在机房里的软 ...

  5. 实验1 c语言最基本内容

    part 1 验证性内容 总结:经受了数组和结构体的双重折磨后,发现这部分好简单...现在没啥问题了... part  2  补全程序 1.判断奇偶 // 程序功能: // 要求用户从键盘输入一个整数 ...

  6. 实验1 C 语言开发环境使用和数据类型、运算符、表达式

    # include <stdio.h> int main() { int x; printf("x:\n"); scanf("%d",&x) ...

  7. 实验1 C语言开发环境使用和数据类型,运算符,表达式

    part :验证性内容 .输出学号. #include<stdio.h> int main(void){ printf("); ; } .输入两个整数,求它们的乘积. #incl ...

  8. 实验1 C语言运行环境的使用和数据类型、运算符和表达式

    Part1 这一部分的内容虽然简单,但是对于初学的我来说,独自完成且没有错误还是不容易的,像老师说的一样,只有自己亲手编写以后才可以发现问题并且逐步改正.从这次实践我对与C语言程序的结构更加熟悉.   ...

  9. 实验1“C语言开发环境使用和数据类型、运算符、表达式”总结与体会

    一.实验结论 1.判断奇偶 // 程序功能: // 要求用户从键盘输入一个整数,判断其是奇数还是偶数 #include <stdio.h> int main() { int x; prin ...

  10. 实验3 C语言分支语句和循环语句编程应用(友好猜日期^_^)

    实验任务一 #include <stdio.h> #include <math.h> int main(){ float a, b, c, x1, x2; float delt ...

随机推荐

  1. 简单规划dp sumsets

    Farmer John commanded his cows to search for different sets of numbers that sum to a given number. T ...

  2. 「PKUSC2018」神仙的游戏

    题目链接 比如说上面\(|S|\)为12的字符串,我们欲求出\(f(9)\)的值,那么上面相同颜色的字符必须两两能够匹配.也就是说,同种颜色的字符集里不能同时出现0和1.如果只考虑同种颜色集里相邻的两 ...

  3. ROS 双目标定

    http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration 发布ZED节点 roslaunch zed_cpu_ros zed ...

  4. go标准库的学习-sync互斥

    https://studygolang.com/pkgdoc 导入方法: import "sync" sync包提供了基本的同步基元,如互斥锁.除了Once和WaitGroup类型 ...

  5. <操作系统>进程和线程

    进程 定义: 一个正在执行的程序: 一个正在计算机上执行的程序实例; 能分配给处理器并由处理器执行的实体: 一个由一组执行指令,一个当前状态和一组相关的系统资源表征的活动单元. 进程的基本元素:程序代 ...

  6. Python 远程桌面协议RDPY简介

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 RDPY 是基于 Twisted Python 实现的微软 RDP 远程桌面协议. RDPY ...

  7. android精品开源项目整理

    转载地址:http://www.eoeandroid.com/thread-311366-1-1.html 前言:无论你是android的初学者,还有是Android开发了好多年的高手,可能都会有很多 ...

  8. 使用proxy来简单的实现一个观察者

    var obv = (function() { var cache = new Map(); var observe = function (proxy, fn) { if (!cache.has(p ...

  9. LED恒流驱动IC汇总

    LED恒流驱动IC汇总 2017年09月22日 11:29:01 阅读数:569 这几天在找LED恒流驱动芯片,无意间在LED网论坛上发现这个帖子,分享给大家! LED恒流IC芯片大盘点        ...

  10. odooERP系统(框架)总结

    1:Odoo 是一个现代化的商业应用套件,使用 AGPL 许可证,并具有客户关系管理(CRM),人力资源,销售,采购,会计,制造,仓库管理,项目管理,以及众多社区模块. 2:它是基于一个模块化,可扩展 ...