#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. Word中类似正则匹配的查找替换通配符的使用详解

    一.Word查找栏代码&通配符一览表 序号 清除使用通配符复选框 勾选使用通配符复选框 特殊字符 代码 特殊字符 代码or通配符 1 任意单个字符 ^? 任意单个字符 ? 2 任意数字 ^# ...

  2. socket 总结

    网络编程之进程:http://www.cnblogs.com/1a2a/p/7428759.html 网络编程之进阶:http://www.cnblogs.com/1a2a/p/7444446.htm ...

  3. PHP开发小技巧①①—php实现手机号码显示部分

    从个人信息保护性的角度来讲,我们在开发过程中总会想办法去保护用户的一些个人信息.就如本篇博文所讲,我们有时会将用户的手机号码只显示出部分,这是很多网站都有做的功能.这个功能实现起来也是特别的简单,只需 ...

  4. Mysql数据库的加密与解密

    数据加密.解密在安全领域非常重要.对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大. 有多种前端加密算法可用于数据加密.解密,下面我向您推荐一种简单的数据库级别的数据加密.解 ...

  5. nodeJS之crypto模块公钥加密及解密

    nodeJS之crypto模块公钥加密及解密 NodeJS有以下4个与公钥加密相关的类.1. Cipher: 用于加密数据:2. Decipher: 用于解密数据:3. Sign: 用于生成签名:4. ...

  6. css3渐变特性

    项目中,一般用于业务办理的进度条,设置背景色,纯背景色可以直接设置,如果是渐变色,那使用line-gradient渐变特性就需要设置渐变的位置了入下图 方法一.直接在进度条轨道上面再加一个元素,用于设 ...

  7. 【Codeforces 115D】Unambiguous Arithmetic Expression

    Codeforces 115 D 题意:给一个没有括号的表达式,问有多少种添加括号的方法使得这是一个合法的表达式?输入可能有正负号.加减乘除.数字. 思路1: 这是不能过的\(naive\)的\(dp ...

  8. liunx基础知识

    学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结.不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高. linu ...

  9. 置顶博客一览表($My~Top~List$)

    咳,主要是因为我觉得置顶博客太多了让人很晕233 以下是(伪)置顶的博客: 笙上月 \(\color{red}{Link}\) 笔下梅 \(\color{red}{Link}\) 老年\(OIer\) ...

  10. jmeter(五)JDBC Request

    jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息 有时候工作中我们需要对数据库发起请求或者对数据 ...