C语言寒假大作战03

1 作业头:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2/
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261
这个作业的目标 使用rand()函数生成随机题目
作业正文 如下
其他参考文献 cpp
  1. 题目介绍
    当我们刚刚进入程序的时候,便会出现这样的界面。帮助信息中十分清楚了讲了关于各个年级口算题的内容

其中:

一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.

我们需要 随机!!!!!! 生成口算题 ps: 使用rand()函数哦

这里我们规定如下格式:

/*----- 一年级 -----*/
0 - 6 = ___
2 + 7 = ___
2 + 4 = ___
2 - 2 = ___
1 + 9 = ___

/*----- 二年级 -----*/
4 / 5 = ___
4 / 5 = ___
3 * 3 = ___
4 * 9 = ___
5 * 6 = ___
ps: 我想你们现在正在背九九乘法表 滑稽 :)

/*----- 三年级 -----*/

3 + 10 *  5 = ___
19 -  3 * 17 = ___
88 * 79 + 70 = ___
5 + 99 / 76 = ___
89 / 90 * 97 = ___
ps:请注意这里的格式为两字符占位 __ + __ + __ = ___
    注意 '/' 除号后面不能为0哦

2 提交内容
本次作业统一标题:C语言寒假大作战03
Deadline: 2020/02/12 20:00pm

2.1 作业头:
为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加格式描述:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2/
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10271
这个作业的目标 学会随机函数的使用
作业正文 https://i-beta.cnblogs.com/posts/edit
其他参考文献 https://www.runoob.com/cprogramming/c-function-rand.html
2.2 设计思路和遇到的问题
在第二次作业的基础上加入了题目,因为要随机生成题目,所以使用rand()函数来随机生成数字,并且使用rand()+if来决定符号。

2.3 程序结果截图

2.4 程序代码

#include<stdio.h>
#include <stdlib.h>
int help(int a) {
    printf("欢迎使用口算生成器 :\n \n \n帮助信息\n您需要输入命令代号来进行操作, 且\n");
    printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
    printf("操作列表:\n1)一年级    2)二年级    3)三年级\n4)帮助      5)退出程序\n ");
    return 0;
}
int fh1() {           \\随机符号函数1
    char n;
    int a = rand() % 2;
    if (a == 1) n = '-';
    else n = '+';
    return n;
}
int fh2() {           \\随机符号函数2
    char n;
    int a = rand() % 2;
    if (a == 1) n = '*';
    else n = '/';
    return n;
}
int fh3() {           \\随机符号函数3
    char n;
    int a = rand() % 4;
    if (a == 1) n = '*';
    else
	    if (a == 2)n = '/';
	    else
		    if (a == 3)n = '+';
		    else n = '-';
    return n;
}
int menu(int a) {        \\出题函数
    if (a == 1) for (int i = 5; i--; printf("%d %c %d = __\n", rand() % 9, fh1(), rand() % 9));
    else
	    if (a == 2) for (int i = 5; i--; printf("%d %c %d = __\n", rand() % 9, fh2(), rand() % 8+1));
	    else for (int i = 5; i--; printf("%d %c %d %c %d = __\n", rand() % 9, fh3(), rand() % 8+1, fh3(), rand() % 8+1));
    return 0;
}
int main()
{
    printf("========== 口算生成器 ==========\n");
    printf("欢迎使用口算生成器 :\n \n \n帮助信息\n您需要输入命令代号来进行操作, 且\n");
    printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
    printf("操作列表:\n1)一年级    2)二年级    3)三年级\n4)帮助      5)退出程序\n ");
sr:printf("请输入操作 >\n\n");
    int a;
    scanf_s("%d", &a);
    printf("开始执行%d命令\n", a);
    switch (a) {
    case 1:case 2:case 3:menu(a); goto sr;
    case 4:help(a); goto sr;
    case 5:printf("程序结束, 欢迎下次使用\n任意键结束……"); return 0;
    default:printf("Error!!!\n错误操作指令, 请重新输入"); goto sr;
    }
}

2.5 Gitee上传截图与链接

https://gitee.com/zhuoyao_cham/czy20199256/tree/master/fuck

2.6 Gitee上传截图与链接

https://gitee.com/zhuoyao_cham/czy20199256/tree/master/fuck

posted @ 2020-02-04 11:36  尭蔕  阅读(223)  评论(0编辑  收藏  举报