#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. WPF之托盘图标的设定

    首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Collections.Generic; using ...

  2. linux系统自签发免费ssl证书,为nginx生成自签名ssl证书

    首先执行如下命令生成一个key openssl genrsa -des3 -out ssl.key 1024 然后他会要求你输入这个key文件的密码.不推荐输入.因为以后要给nginx使用.每次rel ...

  3. iptables和firewalld的配置

    一.iptables 1.配置 vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -p tcp -m tcp ...

  4. 修改CentOS 7.2系统的主机名

    之前使用网上的大部分说法,修改了两个配置文件: /etc/hosts /etc/sysconfig/network 然后,并没有什么卵用. 后来,搜阿里云配置,看到这个办法: 使用“经典网络”类型的E ...

  5. JS进阶之---作用域,作用域链,闭包

    一.作用域: 在JavaScript中,我们可以将作用域定义为一套规则,这套规则用来管理引擎如何在当前作用域以及嵌套的子作用域中根据标识符名称进行变量查找.这里的标识符,指的是变量名或者函数名. Ja ...

  6. go标准库的学习-time

    参考https://studygolang.com/pkgdoc 导入形式: import "time" time包提供了时间的显示和测量用的函数.日历的计算采用的是公历. 1&g ...

  7. Python基础(6)——装饰器

    装饰器: def w1(func): def inner(): # 验证1 # 验证2 # 验证3 return func() return inner @w1 def f1(): print 'f1 ...

  8. Unable to execute dex: Multiple dex files defineLcom/google/gson/JsonDeserializer;

    这是异常想必大家都知道的,是关于一个android jar包冲突的问题.为什么还要提呢,是因为这玩意真心让人蛋疼.有些时候稍微不注意(手贱)多导入一个包,就完蛋了.(jar包多的话搞不好带一上午调试) ...

  9. fastcgi_next_upstream error timeout invalid_header http_500 http_503(转)

    location / proxy_pass http://nodelist; fastcgi_next_upstream error timeout invalid_header http_500 h ...

  10. ingress-nginx 添加https证书

    1.配了一个证书,发现报错: kubectl logs  ingress-nginx-controller-96fnv   -n ingress-nginx unexpected error vali ...