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陈曦

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

  • 相关阅读:
    申请国家自然科学基金项目的一点体会(周浙昆)
    漫谈影响自然基金申请的因素
    凡是过往,皆为序章—写在2018年国基揭榜之时
    再谈国家基金项目申请中的几个问题
    国家基金申请书中的科学问题与关键问题
    我喜欢这样的国家自然科学基金本子
    Fedora 28 —— install fonts for WPS
    清华11篇撤稿背后:院方早已处理,被曝光才公开结果
    CPU:chip、core 和 processor 的关系
    Fedora 28 —— chm 阅读器
  • 原文地址:https://www.cnblogs.com/gersaty/p/4398944.html
Copyright © 2011-2022 走看看