• Practice1小学四则运算


    本次实验是做一个自动生成小学四则运算的小程序,对于我来说是检验基础的一次实验,要运用Visual C++来编写完成,“自动生成”第一印象是要用到Random()函数,“加减乘除”则应该用到switch和case语句,小学四则运算应该是一位与一位数相加、一位数与二位数相加和二位数与两位数相加,做个简单的菜单,初步的想法就是这样。

    在实验过程中,发现了不少问题,比如这程序只能执行一边,不能返回上一级,应该用函数调用但我没有实现;也有很多容错性没有考虑到。

    总结:在这次实验中,我了解到了基础知识的重要性,遇到问题要去想,要去解决,希望下次继续努力!

    以下是源程序:

    #include<stdio.h>
    #include<stdlib.h>
    void main()
    {      
     int n,i,a,b,c,d,e,f,g,h;      
     printf("****************************欢迎使用!************************\n");   
     printf("\n");      
     printf("1.加法运算\n");     
     printf("2.减法运算\n");     
     printf("3.乘法运算\n");     
     printf("4.除法运算\n");
     printf("0.退出程序\n");
     printf("***************************************************************\n");
     printf("请选择运算类型:");
        scanf("%d", &n);
     switch(n)
     {
     case 1:
            {
       printf("***************************************************************\n");
       printf("5.一位数加一位数\n");          
       printf("6.一位数加两位数\n");          
       printf("7.两位数加两位数\n");
       printf("***************************************************************\n");
       printf("请输入题型:");          
       scanf("%d",&i);       
       while(i<5||i>7)    
       {           
        printf("输入错误,请重新输入");          
        scanf("%d",&i);    
       }        
       if(i==5)
       {
        a=rand()%10+1;
        b=rand()%10+1;
        printf("%d+%d=\n",a,b);
       }
       if(i==6)
       {
        a=rand()%10+1;
        b=rand()%100+1;
        printf("%d+%d=\n",a,b);
       }
       if(i==7)
       {
        a=rand()%100+1;
        b=rand()%100+1;
        printf("%d+%d=\n",a,b);
       }
       
       break;
      }
      
     case 2:
      {
       printf("***************************************************************\n");
       printf("5.一位数减一位数\n");          
       printf("6.两位数减一位数\n");          
       printf("7.两位数减两位数\n");
       printf("***************************************************************\n");
       printf("请输入题型:");          
       scanf("%d",&i);       
       while(i<5||i>7)    
       {           
        printf("输入错误,请重新输入");          
        scanf("%d",&i);    
       }        
       if(i==5)
       {
        c=rand()%10+1;
        d=rand()%10+1;
        printf("%d-%d=\n",c,d);
       }
       if(i==6)
       {
        c=rand()%100+1;
        d=rand()%10+1;
        printf("%d-%d=\n",c,d);
       }
       if(i==7)
       {
        c=rand()%100+1;
        d=rand()%100+1;
        printf("%d-%d=\n",c,d);
       }
       break;
      }
      
     case 3:
      {
       printf("***************************************************************\n");
       printf("5.一位数乘一位数\n");          
       printf("6.一位数乘两位数\n");          
       printf("7.两位数乘两位数\n");
       printf("***************************************************************\n");
       printf("请输入题型:");          
       scanf("%d",&i);       
       while(i<5||i>7)    
       {           
        printf("输入错误,请重新输入");          
        scanf("%d",&i);    
       }        
       if(i==5)
       {
        e=rand()%10+1;
        f=rand()%10+1;
        printf("%d*%d=\n",e,f);
       }
       if(i==6)
       {
        e=rand()%10+1;
        f=rand()%100+1;
        printf("%d*%d=\n",e,f);
       }
       if(i==7)
       {
        e=rand()%100+1;
        f=rand()%100+1;
        printf("%d*%d=\n",e,f);
       }
       break;
      }
     case 4:
      {
       printf("***************************************************************\n");
       printf("5.一位数除于一位数\n");          
       printf("6.两位数除于一位数\n");          
       printf("7.两位数除于两位数\n");
       printf("***************************************************************\n");
       printf("请输入题型:");          
       scanf("%d",&i);       
       while(i<5||i>7)    
       {           
        printf("输入错误,请重新输入");          
        scanf("%d",&i);    
       }        
       if(i==5)
       {
        g=rand()%10+1;
        h=rand()%10+1;
        printf("%d/%d=\n",g,h);
       }
       if(i==6)
       {
        g=rand()%100+1;
        h=rand()%10+1;
        printf("%d/%d=\n",g,h);
       }
       if(i==7)
       {
        g=rand()%100+1;
        h=rand()%100+1;
        printf("%d/%d=\n",g,h);
       }
       break;
      }
     case 0:
      {
       printf("谢谢使用!再见!\n");
       break;
      }
     }
     
     
    }

  • 相关阅读:
    hdu 1159 Common Subsequence(最长公共子序列)
    Codeforces Round #313 (Div. 2)
    cf 558A Lala Land and Apple Trees
    zoj 2193 Window Pains
    poj 2031 Building a Space Station(最小生成树)
    zoj 1060 Sorting It All Out(拓扑排序)
    拓扑排序
    poj 1287 Networking
    zoj 1586 QS Network
    poj 1679 The Unique MST
  • 原文地址:https://www.cnblogs.com/paopaotai/p/4370098.html
Copyright © 2020-2023  润新知