#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. kafka的Java客户端示例代码(kafka_2.11-0.8.2.2)

    1.使用Producer API发送消息到Kafka 从版本0.9开始被KafkaProducer替代. HelloWorldProducer.java package cn.ljh.kafka.ka ...

  2. bzoj5093:[Lydsy1711月赛]图的价值

    题目 首先考虑到这是一张有标号的图,每一个点的地位是相等的,因此我们只需要求出一个点的价值和乘上\(n\)就好了 考虑一个点有多少种情况下度数为\(i\) 显然我们可以让除了这个点的剩下的\(n-1\ ...

  3. 转://点评Oracle11g新特性之动态变量窥视

    1. 11g之前的绑定变量窥视 我们都知道,为了可以让SQL语句共享运行计划,oracle始终都是强调在进行应用系统的设计时,必须使用绑定变量,也就是用一个变量来取代原来出如今SQL语句里的字面值.比 ...

  4. Oracle 11g rac 添加新节点测试

    [转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...

  5. Spring配置跨域请求

    本文主要是Spring+SpringMVC+MyBatis/MyBatis Plus框架环境,包括SpringBoot同样适用. 1.编写拦截器 package com.interceptor; im ...

  6. 浅淡个人学习嵌入式Linux过程

    我专业是电子信息工程,在初入大学的时候,我们的班主任便要我们多多去了解一些关于电子方面的知识.后来我了解到了嵌入式,继而了解到了嵌入式Linux.其实我们学习linux差不多就学习linux内核,但是 ...

  7. JavaScript设计模式 - 状态模式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 洛谷 P1396 营救

    题目链接 https://www.luogu.org/problemnew/show/P1396 题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪 ...

  9. timeout可以实现当一个命令在规定时间内不返回就强制返回的功能 + 杀毒安装ClamAV nmap 速度 比Telnet 快

    [root@xiaowei ~]# cat telnetport.sh #!/bin/bash Port=25223 timeout 2 ssh root@127.0.0.1 "telnet ...

  10. SkylineGlobe 如何二次开发获取三维模型的BBOX和设置Tint属性

    测试模型类型选择TerrainModel和Feature两种,测试代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...