这个作业属于哪个课程 | 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("==========口算生成器=========
");
printf("欢迎使用口算生成器 :
");
printf("
");
printf("
");
printf("帮助信息
");
printf("您需要输入命令代号来进行操作, 且
");
printf("一年级题目为不超过十位的加减法;
");
printf("二年级题目为不超过百位的乘除法;
");
printf("三年级题目为不超过百位的加减乘除混合题目.
");
printf("
");
printf("
");
while(a!=5)
{
printf("操作列表:
");
printf("1)一年级 2)二年级 3)三年级
");
printf("4)帮助 5)退出程序
");
printf("请输入操作>");
scanf("%d",&a);
printf("<执行操作:)
");
printf("
");
printf("
");
switch(a)
{
case 1:printf("现在是一年级题目:
");
printf("请输入生成个数>");
scanf("%d",&b);
for(int i=1;i<=b;i++)
{
printf("%2d",rand()%11);
c=rand()%2;
printf(" %c ",f[c]);
printf("%2d=______
",rand()%11);
}
printf("
");printf("
");break;
case 2:printf("现在是二年级题目:
");
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);
}
}
printf("
");printf("
");break;
case 3:printf("现在是三年级题目:
");
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=______
",rand()%100+1);
}
else
{
printf("%2d=______
",rand()%100);
}
}
printf("
");printf("
");break;
case 4:printf("帮助信息
");
printf("您需要输入命令代号来进行操作, 且
");
printf("一年级题目为不超过十位的加减法;
");
printf("二年级题目为不超过百位的乘除法;
");
printf("三年级题目为不超过百位的加减乘除混合题目.
");
printf("
");printf("
");break;
case 5:break;
default :printf("Error!!!
");
printf("错误操作指令, 请重新输入
");printf("
");printf("
");break;
}
}
printf("程序结束, 欢迎下次使用任意键结束……");
return 0;
}
2.2.6 Gitee上传截图与链接