1 作业头:
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261 |
这个作业的目标 | 使用rand()函数生成随机题目 |
作业正文 | 如下 |
其他参考文献 | cpp |
- 题目介绍
当我们刚刚进入程序的时候,便会出现这样的界面。帮助信息中十分清楚了讲了关于各个年级口算题的内容
其中:
一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.
我们需要 随机!!!!!! 生成口算题 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("欢迎使用口算生成器 :
帮助信息
您需要输入命令代号来进行操作, 且
");
printf("一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.
");
printf("操作列表:
1)一年级 2)二年级 3)三年级
4)帮助 5)退出程序
");
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 = __
", rand() % 9, fh1(), rand() % 9));
else
if (a == 2) for (int i = 5; i--; printf("%d %c %d = __
", rand() % 9, fh2(), rand() % 8+1));
else for (int i = 5; i--; printf("%d %c %d %c %d = __
", rand() % 9, fh3(), rand() % 8+1, fh3(), rand() % 8+1));
return 0;
}
int main()
{
printf("========== 口算生成器 ==========
");
printf("欢迎使用口算生成器 :
帮助信息
您需要输入命令代号来进行操作, 且
");
printf("一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.
");
printf("操作列表:
1)一年级 2)二年级 3)三年级
4)帮助 5)退出程序
");
sr:printf("请输入操作 >
");
int a;
scanf_s("%d", &a);
printf("开始执行%d命令
", a);
switch (a) {
case 1:case 2:case 3:menu(a); goto sr;
case 4:help(a); goto sr;
case 5:printf("程序结束, 欢迎下次使用
任意键结束……"); return 0;
default:printf("Error!!!
错误操作指令, 请重新输入"); goto sr;
}
}
2.5 Gitee上传截图与链接
https://gitee.com/zhuoyao_cham/czy20199256/tree/master/fuck
2.6 Gitee上传截图与链接