• C语言寒假大作战03


    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业链接
    **这个作业的目标 ** 熟悉使用git命令,理解代码用途
    其他参考文献 C语言rand和srand用法详解
    作业正文 本篇博客

    1.1 设计思路和遇到的问题

    • 设计思路:用for循环取十道题目,符号用rand的取值来随机选取,随机数也同理用rand生成,用srand和时间来取不同的随机数,添加到已有菜单中。
    • 遇到的问题:开始用int来添加rand函数,导致十个题目完全相同,后来改用直接取rand,解决问题。

    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++)
        {
        	if(rand()%2==1)
        	{
        		printf("%d + %d =__
    ",rand() % (10),rand() % (10));
    		}
    		else 
    		    printf("%d - %d =__
    ",rand() % (10),rand() % (10));
    
    	}
        
    }
    void two()
    {
    	printf(":)
    ");
    	printf("
    ");
    	printf("现在是二年级题目:
    ");
    	printf("操作完成
    ");
        srand((int)time(0));
        int i;
        for(i=1;i<=10;i++)
        {
        	if(rand()%2==1)
        	{
        		printf("%d * %d =__
    ",rand() % (101),rand() % (101));
    		}
    		else 
    		    printf("%d / %d =__
    ",rand() % (101),rand() % (101)+1);
    
    	}
    }
    void three()
    {
    	printf(":)
    ");
    	printf("
    ");
    	printf("现在是三年级题目:
    ");
    	printf("操作完成
    ");
        srand((int)time(0));
        int i;
        for(i=1;i<=10;i++)
        {
        	if(rand()%17==0)
        		printf("%d + %d + %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
    		else if(rand()%17==1)
    		    printf("%d + %d - %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
    		else if(rand()%17==2)
    		    printf("%d + %d * %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
    		else if(rand()%17==3)
    		    printf("%d + %d / %d=__
    ",rand() % (101),rand() % (101),rand() % (101)+1);
    		else if(rand()%17==4)
    		    printf("%d * %d / %d=__
    ",rand() % (101),rand() % (101),rand() % (101)+1);
            else if(rand()%17==5)
    		    printf("%d * %d - %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==6)
    		    printf("%d * %d * %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==7)
    		    printf("%d / %d / %d=__
    ",rand() % (101),rand() % (101)+1,rand() % (101)+1);
            else if(rand()%17==8)
    		    printf("%d / %d - %d=__
    ",rand() % (101),rand() % (101)+1,rand() % (101));
            else if(rand()%17==9)
    		    printf("%d - %d - %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==10)
    		    printf("%d - %d + %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==11)
    		    printf("%d * %d + %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==12)
    		    printf("%d / %d + %d=__
    ",rand() % (101),rand() % (101)+1),rand() % (101);
            else if(rand()%17==13)
    		    printf("%d - %d * %d=__
    ",rand() % (101),rand() % (101),rand() % (101));
            else if(rand()%17==14)
    		    printf("%d - %d / %d=__
    ",rand() % (101),rand() % (101),rand() % (101)+1);
            else
    		    printf("%d / %d * %d=__
    ",rand() % (101),rand() % (101)+1,rand() % (101));
    	}	
    }
    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的主页##

  • 相关阅读:
    hihocoder #1467 : 2-SAT·hihoCoder音乐节 2-SAT
    hihoCoder#1185 : 连通性·三 tarjan求强联通分量 缩点 dfs/拓扑排序求路径和最大值
    hihoCoder1175 拓扑排序·二 拓扑排序
    012 列表的一些常用操作符
    011,列表2
    010 列表1
    009,分支和循环3
    008,分支和循环2
    006 Python的操作符
    005 Python的数值类型
  • 原文地址:https://www.cnblogs.com/solokill/p/12294733.html
Copyright © 2020-2023  润新知