• C语言寒假大作战04


    2.2.1 作业头:

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-3
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10278
    这个作业的目标 使用随机数和使用git
    作业正文 如下
    其他参考文献 https://www.runoob.com/cprogramming/c-function-rand.html

    2.2.2 设计思路和遇到的问题

    这次就是仿照上次代码再算出结果,麻烦了许多,写了我200多行。老是出错,尤其是数组那块,因为不熟练,浪费我好多时间,搞得我觉得我小学三年级题目都不会了。还有就是输出结果要输出实数用%g,百度了才知道,明明上学期还用过的。

    2.2.3 程序结果截图


    2.2.4 程序代码

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

    2.2.5 Gitee上传截图与链接



    https://gitee.com/li---shuang/LS20199279

  • 相关阅读:
    how to uninstall devkit
    asp.net中bin目录下的 dll.refresh文件
    查找2个分支的共同父节点
    Three ways to do WCF instance management
    WCF Concurrency (Single, Multiple, and Reentrant) and Throttling
    检查string是否为double
    How to hide TabPage from TabControl
    获取当前系统中的时区
    git svn cygwin_exception
    lodoop打印控制具体解释
  • 原文地址:https://www.cnblogs.com/xiamudaren1/p/12323016.html
Copyright © 2020-2023  润新知