C语言寒假大作战03

给你一囗甜甜゛ 提交于 2020-03-08 01:22:46
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-3
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10247
这个作业的目标 使用随机rand函数
作业正文 如下
其他参考文献 https://www.runoob.com/cprogramming/c-function-rand.html

2.2.2 设计思路和遇到的问题

使用随机数的时候不太清楚怎么控制随机数的范围,查了资料,也自己在Dev上试了下就差不多懂了,rand()%最大+最小。
还有+,-,*,/因为这个也是随机,我还特意去百度了一下有没有随机符号的,查完了之后莫名感觉自己好傻,一个数组就能解决的事。
还有关于gitte我好想还是不太会用,每次都要搞好久,老出现一些奇奇怪怪的东西,明明一样的操作,搞得我总是去百度,答案还不一定正确。什么文件冲突,搞得我一不小心把文件都删掉了,心都累了。

2.2.3 程序结果截图


2.2.4 程序代码

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

2.2.6 Gitee上传截图与链接


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!