• C语言寒假大作战04


    这个作业属于哪个课程 C语言作业计科四班
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10277
    这个作业的目标 学习用上次作业代码编写出答案
    作业正文 看下面内容
    其他参考文献 https://m.wenda.so.com/q/1378547425075728

    2.2 设计思路和遇到的问题

    设计思路:其实利用上次代码进行加工,在百度一下%g和rand()如何结合运用以及他们各自的用法,在自己琢磨一下。
    遇到的问题:其实运用上次代码可以快速编写出一二年级的答案,但是三年级是怎么也是错误的,不知道哪里出现了问题,所以花费了很多时间。

    2.2.3 程序结果截图





    2.2.4 程序代码

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

    2.2.5 Gitee上传截图与链接


    链接:

    https://gitee.com/xie_xiang_yun/cxiexiangyun.git

  • 相关阅读:
    基于TFTP协议的远程升级设计
    BZOJ 刷题记录 PART 6
    解决org.hibernate.LazyInitializationException: could not initialize proxy
    在不同版本号hdfs集群之间转移数据
    从零開始制作H5应用(4)——V4.0,增加文字并给文字加特效
    不再安全的 OSSpinLock
    @synchronized 再考察
    ReactiveCocoa
    怎样界定问题
    问题是什么
  • 原文地址:https://www.cnblogs.com/xiexiangyun/p/12313286.html
Copyright © 2020-2023  润新知