• 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;
      }
     }
     
     
    }

  • 相关阅读:
    CF1290E Cartesian Tree
    【LeetCode】11. 盛最多水的容器
    【LeetCode】10. 正则表达式匹配
    【LeetCode】9. 回文数
    【LeetCode】8. 字符串转换整数 (atoi)
    【LeetCode】7. 整数反转
    【LeetCode】6. Z 字形变换
    【LeetCode】5. 最长回文子串
    【LeetCode】4. 寻找两个正序数组的中位数[待补充]
    【LeetCode】3. 无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/paopaotai/p/4370098.html
Copyright © 2020-2023  润新知