C语言寒假大作战04

2.2.1 作业头:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2019-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10275
这个作业的目标 为了把随机计算的计算题答案显示出来。
作业正文 https://www.cnblogs.com/znlkdsw/p/12312310.html
其他参考文献 %g与%d

2.2.2 设计思路和遇到的问题

开始我在想,难道有什么特定的函数要学习嘛?参考资料没有啊。难道让我们一步步的考虑发生的状况嘛?好吧,实际情况确实是这样。

2.2.3 程序结果截图

2.2.4 程序代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num1(int a);
int num2(int b);
int num3(int c);
int main()
{
    int x, a, b, c, i;
    printf("======口算生成器======\n");
    printf("欢迎使用口算生成器:)\n");
    
    printf("帮助信息:\n");
    printf("请输入命令代号进行操作,且:\n");
    printf("一年级的题目为不超过十位数的加减法:\n");
    printf("二年级的题目为不超过百位数的乘除法:\n");
    printf("三年级的题目为不超过百位数的加减乘除法:\n");
    printf("\n");
    printf("\n");
    for(int i; x<5; i++)
    {
        printf("操作列表:");
        printf("1) 一年级  2)二年级  3)三年级 \n 4)帮助  5)退出程序\n");
        printf("请输入操作>\n");
        printf("<执行操作:)");
        scanf("%d", &x);
        switch(x)
        {
            case 1:num1(a); break;
            case 2:num2(b); break;
            case 3:num3(c); break;
            case 4:printf("帮助信息:\n");
                   printf("请输入命令代号进行操作,且:\n");
                   printf("一年级的题目为不超过十位数的加减法:\n");
                   printf("二年级的题目为不超过百位数的乘除法:\n");
                   printf("三年级的题目为不超过百位数的加减乘除法:\n"); break;
            case 5: break;
            default:printf("Error!!!\n 错误命令,请重新键入"); break;
        }
     } 
     printf("程序结束,欢迎下次使用\n 按任意键结束......");
     return 0;
}
int num1(int a)
{
    int n, x, y, i;
    char t;
    double sum;
    printf("现在是一年级的题目:\n");
    printf("请输入生成题目个数:\n");
    scanf("%d", &n);
    printf("<执行操作:)\n");
    srand((unsigned)time(NULL));
    for(i=1; i<=n; i++)
    {
        x=rand()%9+1;
        y=rand()%9+1;
        char symbol[2] = {'+','-'};
        t=symbol[rand()%2];
        if(t=='+')
        {
        	sum=(double)x+y;
        	printf("%d %c %d = %.6g\n", x,t,y,sum);
		}
        else
		{
			sum=(double)x-y;
			 printf("%d %c %d = %.6g\n", x,t,y,sum);
		  }  
    }
    return 0;
        
}
 
int num2(int b)
{
    int n, x, y, i;
    char t;
    double sum;
    printf("现在是二年级的题目:\n");
    printf("请输入生成的题目个数:\n");
    scanf("%d", &n);
    printf("<执行操作:)\n");
    srand((unsigned)time(NULL));
    for(i=1; i<=n; i++)
    {
        x=rand()%99+1;
        y=rand()%99+1;
        char symbol[2] = {'*','/'};
        t=symbol[rand()%2];
        if(t=='*')
        {
        	sum=(double)x*y;
			printf("%d %c %d = %.6g\n", x,t,y,sum);
		}
		else
		{
			sum=(double)x/y;
			printf("%d %c %d = %.6g\n", x,t,y,sum);
		}
    }
    return 0;
}
int num3(int c)
{
    int n, x, y, z, i;
    char t, h;
    double sum;
    printf("现在是三年级的题目:\n");
    printf("请输入生成的题目个数:\n");
    scanf("%d", &n);
    printf("<执行操作:)\n");
    srand((unsigned)time(NULL));
    for(i=1; i<=n; i++)
    {
        x=rand()%99+1;
        y=rand()%99+1;
        z=rand()%99+1;
        char symbol[4] = {'+','-','*','/'};
        t=symbol[rand()%4];
        h=symbol[rand()%4];
        if(t=='+')
        {
        	if(h=='+')
        	{
        		sum=(double)x+y+z;
        		printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='-')
			{
				sum=(double)x+y-z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='*')
			{
				sum=(double)x+y*z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='/')
			{
				sum=(double)x+y/z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
		}
		else if(t=='-')
		{
			if(h=='+')
			{
				sum=(double)x-y+z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='-')
			{
				sum=(double)x-y-z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='*')
			{
				sum=(double)x-y*z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='/')
			{
				sum=(double)x-y/z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
		}
		else if(t=='*')
		{
			if(h=='+')
			{
				sum=(double)x*y+z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='-')
			{
				sum=(double)x*y-z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='*')
			{
				sum=(double)x*y*z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='/')
			{
				sum=(double)x*y/z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
		 } 
		 else if(t=='/')
		 {
		 	if(h=='+')
		 	{
		 		sum=(double)x/y+z;
		 		printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='-')
			{
				sum=(double)x/y-z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='*')
			{
				sum=(double)x/y*z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			else if(h=='/')
			{
				sum=(double)x/y/z;
				printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
			}
			
		 }
		
        
    }
    return 0;
}

2.2.5 Gitee上传截图与链接

我的仓库:https://gitee.com/wei_hao_jie/whj20199413

posted @ 2020-02-15 15:39  魏豪杰  阅读(128)  评论(0编辑  收藏  举报