zoukankan      html  css  js  c++  java
  • C语言寒假大作战04

    问题 答案
    这个作业属于那个课程 https://edu.cnblogs.c0m/campus/zswxy/CST2019-4
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10277
    作业正文 在上次各年级题目中加上答案
    参考文献 百度

    2.2.2 设计思路和遇到的问题

    设计思路:在上次的作业上加上答案。
    问题:这次比较简单,还没有问题。
    

    2.2.3 程序结果截图

    2.2.4 程序代码截图

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

    2.2.5 Gitee上传截图与链接

  • 相关阅读:
    POJ 3261 Milk Patterns (求可重叠的k次最长重复子串)
    UVaLive 5031 Graph and Queries (Treap)
    Uva 11996 Jewel Magic (Splay)
    HYSBZ
    POJ 3580 SuperMemo (Splay 区间更新、翻转、循环右移,插入,删除,查询)
    HDU 1890 Robotic Sort (Splay 区间翻转)
    【转】ACM中java的使用
    HDU 4267 A Simple Problem with Integers (树状数组)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4417 Super Mario (树状数组/线段树)
  • 原文地址:https://www.cnblogs.com/deng9/p/12323114.html
Copyright © 2011-2022 走看看