zoukankan      html  css  js  c++  java
  • 实验3-2

    #include<stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int time2();
    main()
    {
     int a,b,c,n,u,i,e=0;
     int sum2=1;
     int sum=0;
     float sum3=0;
     float answer2;
     int resultTrue=0;
     int answer;
     int time=0;
     char op,op2;
     do//产生随机数
     {
      a=rand()%100+1;
      b=rand()%100+1;
      c=rand()%100+1;
      n=rand()%4+1;
      u=rand()%4+1;
      e=rand()%10+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=
    ",a,op,b);//打印
           switch(op)//通过运算符计算答案
         {
              case '+':
            {
                resultTrue=a+b;
                 break;
            }
              case '-':
            {
            resultTrue=a-b;
            break;
            }
              case '*':
            {
            resultTrue=a*b;
            break;
            }
              case '/':
            {
            sum3=(float)a/b;
      printf("请输入正确答案(时间为两分钟):");
      scanf("%d",&answer2);
      if(sum3==answer2)
      {
       printf("答案正确
    ");
      }
      else
      {
       printf("答案错误
    ");
       printf("正确答案为%f
    ",sum3);
      }
            break;
            }
         }
         while(time<121)
         {
          printf("请输入正确答案(时间为两分钟):");
          scanf("%d",&answer);
    	  time=time2();
            if(time==120)
      {
             printf("时间到,无法答题
    ");
             time=0;
             break;
      }
             if(time<120)
       {
               if(answer==resultTrue)
        {
                printf("答案正确
    ");
             printf("答题时间为%d
    ",time);
             time=0;
                break;
         }
                else
       {
                  printf("答案错误
    ");
               printf("答案为%d
    ",resultTrue);
                  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=
    ",a,op,b,op,c);//打印
        switch(op)//计算答案先通过第一个运算符计算
        {
            case '+':
          {
              sum=a+b;
              break;
          }
            case '-':
          {
          sum=a-b;
          break;
          }
            case '*':
          {
           sum=a*b;
           break;
          }
           case '/':
         {
          sum3=(float)a/b;
          break;
         }
        }
         switch(op2)//然后再根据第二运算符计算
         {
                case '+':
           {
                  sum=sum+c;
                  break;
           }
                case '-':
           {
               sum=sum-c;
               break;
           }
                case '*':
           {
              sum=sum*c;
              break;
           }
                case '/':
           {
               sum3=(float)sum3/c;
      printf("请输入正确答案(时间为两分钟):");
      scanf("%d",&answer2);
      time=time2();
      if(sum3==answer2)
      {
       printf("答案正确
    ");
      }
      else
      {
       printf("答案错误
    ");
       printf("正确答案为%f
    ",sum3);
      }
               break;
           }
         }
         while(time<123)//时间设置
         {
            printf("请输入正确答案(时间为两分钟):");
            scanf("%d",&answer);
            if(time==120)
      {
              printf("时间到,无法答题
    ");
              time=0;
              break;
      }
            if(time<120)
      { 
             if(answer==sum)
       {
              printf("答案正确
    ");
           printf("你得答题时间为%d
    ",time);
           time=0;
              break;
       }
              else
        {
               printf("答案错误
    ");
            printf("答案为%d
    ",sum);
               break;
        }
      }
      }
       }
         case 3:
        {
         printf("请输入%d!=",e);
         scanf("%d",&answer);
    	 time=time2();
         for(i=1;i<=e;i++)
         {
          sum2=sum2*i;
         }
         while(time<121)
         {
          if(time==120)
          {
           time=0;
           printf("已到时间
    ");
           break;
          }
          if(time<120)
          {
           if(answer==sum2)
           {
            printf("答案正确
    ");
            printf("用时为%d
    ",time);
            sum2=1;
            break;
           }
           else
           {
            printf("答案错误
    ");
            printf("答案为%d
    ",sum2);
            sum2=1;
            break;
           }
          }
         }
        }
       }
       }while(1);
       }
       int time2()
       {
    	   int time=0;
    	   int i;
    	   int n;
    	   printf("0为退出
    ");
    	  for(i=0;i<121;i++)
    	  {
    		  scanf("%d",&n);
    		  if(n==0){
    			 break;
    		  }
    		  time++;
    	  }
    	  return time;
    	  }
    

    此程序我们已经成功的完成老师的提出的基本目标,还有扩展中整数的阶乘,负数的显示和分数的显示,但是始终不知如何实现时间的显示,我们尝试运用函数的办法来显示时间,但是失败了。本次程序我负责的两个运算符的运算,结对的负责一个运算符的运算。我们都是通过随机数来选择运算符,然后再通过运算符的判断来进行运算。

    结对博客:www.cnblogs.com/201306114356cx/,56陈曦

    本次总结,此次程序让我们懂得了合作的重要性,合作可以减少一个人的负担并且可以使工作效率加快,而且还能使别人学习到他们不会的东西,让我们彼此成长。

  • 相关阅读:
    SCILAB简介[z]
    UG OPEN API编程基础 2约定及编程初步
    Office 2003与Office 2010不能共存的解决方案
    UG OPEN API 编程基础 3用户界面接口
    NewtonRaphson method
    UG OPEN API编程基础 13MenuScript应用
    UG OPEN API编程基础 14API、UIStyler及MenuScript联合开发
    UG OPEN API编程基础 4部件文件的相关操作
    UG OPEN API编程基础 1概述
    16 UG Open的MFC应用
  • 原文地址:https://www.cnblogs.com/gersaty/p/4398944.html
Copyright © 2011-2022 走看看