• C语言寒假大作战04


    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业链接
    **这个作业的目标 ** 熟悉使用git命令,理解代码用途
    其他参考文献 %g与%d的区别
    作业正文 本篇博客

    1.1 设计思路和遇到的问题

    • 设计思路:直接在题目后面加上一个参数计算出答案。
    • 遇到的问题:除数不能为0,我用的是穷举法,所以需要多次分类,略显麻烦,但答案正确。

    1.2程序结果截图

    1.3程序代码

    #include<stdio.h>
    #include <stdlib.h>
    #include <time.h>
    void one()
    {
    	printf(":)
    ");
    	printf("
    ");
    	printf("现在是一年级题目:
    ");
    	printf("操作完成
    
    ");
        srand((int)time(0));
        int i;
        for(i=1;i<=10;i++)
        {
        	int a=rand() % (10);
        	int b=rand() % (10);
        	if(rand()%2==1)
        	{
        		printf("%d + %d =%d
    ",a,b,a+b);
    		}
    		else 
    		    printf("%d - %d =%d
    ",a,b,a-b);
    
    	}
        
    }
    void two()
    {
    	printf(":)
    ");
    	printf("
    ");
    	printf("现在是二年级题目:
    ");
    	printf("操作完成
    ");
        srand((int)time(0));
        int i;
        for(i=1;i<=10;i++)
        {
        	if(rand()%2==1)
        	{
        		int a=rand() % (10);
        	    int b=rand() % (10);
        		printf("%d * %d =%g
    ",a,b,a*1.0*b);
    		}
    		else 
    		{
    			int a=rand() % (10);
        	    int b=rand() % (10)+1;
    		    printf("%d / %d =%g
    ",a,b,a*1.0/b);			
    		}
    	}
    }
    void three()
    {
    	printf(":)
    ");
    	printf("
    ");
    	printf("现在是三年级题目:
    ");
    	printf("操作完成
    ");
        srand((int)time(0));
        int i;
        for(i=1;i<=10;i++)
        {
        	int a=rand() % (101);
        	int b=rand() % (101);
        	int c=rand()%(101);
        	if(rand()%17==0)
        		printf("%d + %d + %d=%g
    ",a,b,c,a+b+c);
    		else if(rand()%17==1)
    			printf("%d + %d - %d=%g
    ",a,b,c,a+b-c);
    		else if(rand()%17==2)
    		    printf("%d + %d * %d=%g
    ",a,b,c,a+b*1.0*c);
    		else if(rand()%17==3)
    		{
    			int c=rand()%(101)+1;
    			printf("%d + %d / %d=%g
    ",a,b,c,a+b*1.0/c);
    		}
    		else if(rand()%17==4)
    		{
    			int c=rand()%(101)+1;
    			printf("%d * %d / %d=%g
    ",a,b,c,a*1.0*b/c);
    		}
            else if(rand()%17==5)
    		    printf("%d * %d - %d=%g
    ",a,b,c,a*1.0*b-c);
            else if(rand()%17==6)
    		    printf("%d * %d * %d=%g
    ",a,b,c,a*1.0*b*c);
            else if(rand()%17==7)
            {
            	int b=rand()%(101)+1;
            	int c=rand()%(101)+1;
            	printf("%d / %d / %d=%g
    ",a,b,c,a*1.0/b/c);
    		}
            else if(rand()%17==8)
            {
                int b=rand()%(101)+1;
                printf("%d / %d - %d=%g
    ",a,b,c,a*1.0/b-c);
    		}
            else if(rand()%17==9)
    		    printf("%d - %d - %d=%g
    ",a,b,c,a-b-c);
            else if(rand()%17==10)
    		    printf("%d - %d + %d=%g
    ",a,b,c,a-b+c);
            else if(rand()%17==11)
    		    printf("%d * %d + %d=%g
    ",a,b,c,a*1.0*b+c);
            else if(rand()%17==12)
            {
            	int b=rand()%(101)+1;
            	printf("%d / %d + %d=%g
    ",a,b,c,a*1.0/b+c);
    		}
            else if(rand()%17==13)
    		    printf("%d - %d * %d=%g
    ",a,b,c,a-b*1.0*c);
            else if(rand()%17==14)
            {
                int c=rand()%(101)+1;
                printf("%d - %d / %d=%g
    ",a,b,c,a-b*1.0/c);
    		}
            else
            {
            	int b=rand()%(101)+1;
            	 printf("%d / %d * %d=%g
    ",a,b,c,a*1.0/b*c);
    		}
    	}	
    }
    void mistake()
    {
    	printf("Error!
    ");
    	printf("错误操作指令,请重新输入
    ");
    	printf("
    ");
    }
    void four()
    {
    	printf("
    ");
    	printf("帮助信息
    ");
    	printf("你需要输入命令代号来进行操作,且
    ");
    	printf("一年级题目为不超过十位数的加减法;
    ");
    	printf("二年级的题目为不超过百位数的乘除法;
    ");
    	printf("三年级的题目为不超过百位的加减乘除的混合题目.
    
    ");
    }
    int main()
    {
    	printf("======口算生成器======
    ");
    	printf("欢迎使用口算生成器:
    
    ");
    	printf("帮助信息
    ");
    	printf("您需要输入命令代号来进行操作,且
    ");
    	printf("一年级的题目为不超过十位数的加减法;
    ");
    	printf("二年级的题目为不超过百位数的乘除法:
    ");
    	printf("三年级的题目为不超过百位数的加减乘除的混合题目.
    
    ");
    	printf("操作列表:
    ");
    	printf("1)一年级 2)二年级 3)三年级
    ");
    	printf("4)帮助 5)退出程序
    ");
    	printf("请输入操作:");
    	int n;
    	
    	scanf("%d", &n);
    	while (1)
    	{
    		if (n == 5)
    		{
    			break;
    		}
    		switch (n)
    		{
    		case 1: one(); break;
    		case 2: two(); break;
    		case 3: three(); break;
    		case 4: four(); break;
    		default: mistake(); break;
    		}
    		printf("操作列表:
    ");
    		printf("1)一年级 2)二年级 3)三年级
    ");
    		printf("4)帮助 5)退出程序
    ");
    		printf("请输入操作:");
    		n = 0;
    		scanf("%d", &n);
    	}
    	printf(":)
    ");
    	printf("
    ");
    	printf("程序结束,欢迎下次使用,按任意键结束");
    	getchar();
    	return 0;
    }
    
    

    1.4Gitee上传截图与链接

    solokill的主页##

  • 相关阅读:
    一个很好用的linux下系统清理工具
    怎样将linux+qt在1S中内启动的幻灯片教程
    通过 ulimit 改善系统性能
    UBI文件系统
    利用BLCR加快Android的启动过程
    工作队列中的sleep导致控制台无法输入问题
    android system setup and building (3)
    物理地址和虚拟地址1 (MMU)
    对 makefile 中 eval 函数的学习体会
    location.href语句与火狐不兼容的问题
  • 原文地址:https://www.cnblogs.com/solokill/p/12294936.html
Copyright © 2020-2023  润新知