C语言寒假大作战03

1.1作业头

这个作业属于哪个课程 班级链接
这个作业的要求在哪里 C语言寒假大作战03
我在这门课程的目标是 学习C 库函数 - rand()随机数的产生;continue,for(),while(),switch-case-default循环的熟练运用;以及函数调用和上传代码至码云
作业正文 (https://www.cnblogs.com/chenyiAndy/p/12300567.html)
参考文献 随机数rand

2.2设计思路和遇到的问题

设计思路

心路历程:开始做的时候,没有什么思路,光想着怎么做好这个随机数,而没有付诸实践,主要是不知道怎么去做,有崩溃的想法;
设计思路:首先利用rand函数实现数值的随机产生,然后利用switch()函数实现加减乘除的随机分配;

遇到的问题

(1)不知道怎么运用rand函数,使数值随机产生;
(2)在排版加减运算的时候,会出现错位,一上一下。

3.3 程序结果截图

4.4 程序代码

include<stdio.h>

define _CRT_SECURE_NO_WARNINGS

include<stdlib.h>

include<time.h>

int menu()
{
printf("=口算生成器=\n");
printf("欢迎使用口算生成器 :\n");
return 0;
}
int help()
{
printf("帮助信息:\n");
printf("你需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法:\n");
printf("二年级题目为不超过百位的乘除法:\n");
printf("三年级题目为不超过百位的加减乘除混合题目.\n");
return 0;
}
int error()
{
printf("Error!!!\n");
printf("错误操作指令,请重新输入\n");
return 0;
}
void first()
{
printf("现在是一年级题目:\n");
int a, b, c, d,i;
srand((unsigned)time(NULL));
printf("请输入生成个数>");
scanf_s("%d",&d);
printf("<执行操作:)\n");
for (i = 0; i < d; i++)
{
a = rand() % 10 + 0;
b = rand() % 10 + 0;
c = rand() % 2 + 1;
printf("%d", a);
switch (c)
{
case 1:printf(" + %d", b); break;
case 2:printf(" - %d", b); break;
}

	printf(" = ___\n");

}

}
void second()
{
printf("\n\n现在是二年级题目:\n");
int a, b, c, d,i;
srand((unsigned)time(NULL));
printf("请输入生成个数>");
scanf_s("%d", &d);
printf("<执行操作:)\n");
for (i = 0; i < d; i++)
{
a = rand() % 100 + 0;
b = rand() % 100 + 0;
c = rand() % 2 + 3;
if (c == 4 && b == 0)
{
i--;
continue;
}
printf("%d", a);
switch (c)
{
case 3:printf(" * %d", b); break;
case 4:printf(" / %d", b); break;
}

	printf(" = ___\n");
}

}
void third()
{
printf("\n\n现在是三年级题目:\n");
int a, b, c, d,i;
srand((unsigned)time(NULL));
printf("请输入生成个数>");
scanf_s("%d", &d);
printf("<执行操作:)\n");
for (i = 0; i < d; i++)
{

    a = rand() % 100 + 0;
b = rand() % 100 + 0;
c = rand() % 4 + 1;
if (c == 4 && b == 0)
{
	i--;
	continue;
}
printf("%d", a);
switch (c)
{
case 1:printf(" + %d", b); break;
case 2:printf(" - %d", b); break;
case 3:printf(" * %d", b); break;
case 4:printf(" / %d", b); break;
}
int j;
j = rand() % 100 + 0;
c = rand() % 4 + 1;
if (c == 4 && j == 0)
{
i--;
continue;
}
switch (c)
{
case 1:printf(" + %d", j); break;
case 2:printf(" - %d", j); break;
case 3:printf(" * %d", j); break;
case 4:printf(" / %d", j); break;
}

printf(" = ___\n");
}

}
int main()
{
menu();
printf("\n");
help();
printf("\n");
int n=-1;
while (n != 5)
{
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作:");
scanf_s("%d",&n);
printf("\n<执行操作:)\n");
printf("\n");
switch (n)
{
case 1:
first();
printf("\n");
break;
case 2:
second();
printf("\n");
break;
case 3:
third();
printf("\n");
break;
case 4:
help();
printf("\n");
break;
case 5:
printf("程序结束,欢迎下次使用,任意键结束\n");
printf("\n");
break;
default:
error();
printf("\n");
break;
}
}
return 0;
}

5.5 Gitee上传截图与链接

6.6Gitee链接

https://gitee.com/chen_yi1/git20199311

posted @ 2020-02-12 19:55  依旧是缘来的你  阅读(111)  评论(0编辑  收藏  举报