• C语言寒假大作战03


    1.作业头

    问题 答案
    这个作业属于哪个课程 班级
    这个作业要求在哪里 作业要求
    这个作业的目标 学习随机代码
    作业正文 作业
    其他参考文献 参考链接1参考链接2

    2.菜单程序函数调用图如下:

    3.设计思路和遇到的问题

    设计思路:
        首先需要想如何随机生成一个运算符符号,其次是如何在1、2、3年级中输出所需的运算符,再而怎么随机输出数字并且在规定的范围之内,还有就是如何控制输出题目的个数.
    遇到的问题:
        如何限制输出的运算符字符的范围?
    

    4.程序结果截图

    5.程序代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void menu()
    {
        printf("操作列表:
    ");
        printf("1)一年级    2)二年级    3)三年级
    ");
        printf("4)帮助      5)退出程序
    ");
        printf("请输入操作>
    ");
     } 
    
     void help()
     {
        printf("帮助信息
    ");
        printf("您需要输入命令代号来进行操作,且
    ");
        printf("一年级题目为不超过十位的加减法;
    ");
        printf("二年级题目为不超过百位的乘除法;
    ");
        printf("三年级题目为不超过百位的加减乘除混合题目。
    
    ");
     }
     void error()
     {
        printf("Error! ! !
    ");
        printf("错误操作指令,请重新输入
    
    ");	
      } 
     void operation_1()
      {
        char op[2]={'+','-'};
        int i,n;
            printf("<请输入生成个数> ");
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
                printf("%d %c %d = ___
    ",rand()%10,op[rand()%2],rand()%10);
        }
      }
      void operation_2()
      {
        char op[2]={'*','/'};
        int i,n;
        printf("<请输入生成个数> ");
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
    	    printf("%d %c %d = ___
    ",rand()%10,op[rand()%2],rand()%10);
        }
      }
      void operation_3()
      {
        char op[4]={'+','-','*','/'};
        int i,n;
        printf("<请输入生成个数> "); 
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
    	    printf("%d %c %d %c %d = ___
    ",rand()%10,op[rand()%4],rand()%10,op[rand()%4],rand()%10);
        }
      }int main()
       {
        int m;
        printf("==========  口算生成器  ==========
    ");
        printf("欢迎使用口算生成器 :
    
    ");
        help();
        menu();
         do{
            scanf("%d",&m);
            printf("< 执行操作 >
    
    ");
            switch (m) {        
                case 1: operation_1(); break;
                case 2: operation_2(); break;
                case 3: operation_3(); break;
                case 4: help(); break;
                case 5: printf("程序结束, 欢迎下次使用 任意键结束……
    "); break;
                default:error(); break;
            }
            if(m!=5)
    	    {
    	    menu();
    	    } 
        }while(m!=5);
          return 0;
       } 
    

    6.Gitee上传截图与链接

    gitee链接

    7.参考资料

    随机数rand

  • 相关阅读:
    获取网络上的北京时间,如果大于设定的过期时间就...
    MYSQL注释
    mysql的perror
    Spring + CXF(REST):webservice not found
    vim 学习笔记
    mysql存储过程controller的not found造成混乱的解决办法
    pt-query-digest 安装及使用
    MYSQL预处理传参不区分大小写解决办法
    解压版mysql安装--windows系统
    sql plus 和 pl/sql无法连接远程oracle数据库
  • 原文地址:https://www.cnblogs.com/classtest123/p/12294445.html
Copyright © 2020-2023  润新知