• C语言寒假大作战03


    本周作业头

    这个作业属于那个课程 寒假作业
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10271
    这个作业的目标是 使用上次作业的菜单框架,并在其基础上增加各年级题目操作函数
    这个作业正文 https://i-beta.cnblogs.com/posts/edit
    参考文献 百度、《C Prime Plus》

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

    1.1程序设计思路图:

    1.2程序设计思路

    使用rand函数来表示题目要求的数,并自定义题目程序
    

    1.3遇到的问题:

    不了解rand函数的用法以及数组的用法,后面百度查了下

    • 1.使用rand函数时需要头文件为#include<stdlib.h>
    • 2.如要产生[m,n]范围内的随机数num话,则:
    • 3.rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。

    2. 程序截图





    3.代码

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

    4. Gitee上传截图与链接


    5.Gitee链接

    https://gitee.com/gaoming_1314

  • 相关阅读:
    28、数组中出现次数超过一半的数字
    27、字符串的排列
    26、二叉搜索树与双向链表
    21、栈的压入、弹出序列
    22、从上往下打印二叉树
    23、二叉搜索树的后序遍历序列
    24、二叉树中和为某一值的路径
    25、复杂链表的复制
    4、简单工厂模式,工厂方法模式,
    基数排序
  • 原文地址:https://www.cnblogs.com/gm12/p/12297583.html
Copyright © 2020-2023  润新知