C语言寒假大作战03
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业链接 |
这个作业的目标 | 学会使用rand函数生成随机数 |
作业正文 | 此篇博客 |
其他参考文献 | 文章链接 |
1.设计思路和遇到的问题
设计思路:
在上次作业的基础上使用rand函数使算式生成随机数。
遇到的问题:
1.符号漏写。
2.三年级题目里一开始输入了4个数,以及第一个符号和第二个符号没有分开讨论。
2. 程序结果截图
3.程序代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
int n=-1, m, i, x, y;
char c, d;
time_t t;
srand((unsigned) time(&t));
printf ("====口算生成器====\n");
printf ("欢迎使用口算生成器:\n");
printf(" \n");
printf(" \n");
printf ("帮助信息\n");
printf ("您需要输入命令代号来进行操作,且\n");
printf ("一年级题目为不超过十位数的加减法;\n");
printf ("二年级的题目为不超过百位数的乘除法;\n");
printf ("三年级的题目为不超过百位的加减乘除的混合题目.\n");
while (n!=0)
{
printf(" \n");
printf(" \n");
printf("操作列表:\n");
printf("1>一年级 2>二年级 3>三年级\n");
printf("4>帮助 5>退出\n");
printf("请选择:\n");
scanf ("%d", &n);
printf (">>>执行操作:\n");
switch (n)
{
case 1: printf ("这是一年级的题目:\n");
printf ("请给出需要生成的题目个数:\n");
scanf ("%d", &m);
printf (">>>执行操作:\n");
for (i=1;i<=m;i++)
{
x=rand()%2;
if (x==1)
printf (" %d + %d = \n", rand()%10, rand()%10);
else
printf (" %d - %d = \n", rand()%10, rand()%10);
}
break ;
case 2: printf ("这是二年级的题目:\n");
printf ("请给出需要生成的题目个数:\n");
scanf ("%d", &m);
printf (">>>执行操作:\n");
for (i=1;i<=m;i++)
{
x=rand()%2;
if (x==1)
printf (" %d * %d = \n", rand()%100, rand()%100);
else
printf (" %d / %d = \n", rand()%100, rand()%100);
}
break ;
case 3: printf ("这是三年级的题目:\n");
printf ("请给出需要生成的题目个数:\n");
scanf ("%d", &m);
printf (">>>执行操作:\n");
for (i=1;i<=m;i++)
{
x=rand()%4;
switch (x)
{
case 0:c='+'; break;
case 1:c='-'; break;
case 2:c='*'; break;
case 3:c='/'; break;
}
y=rand()%4;
switch (y)
{
case 0:d='+'; break;
case 1:d='-'; break;
case 2:d='*'; break;
case 3:d='/'; break;
}
printf (" %d %c %d %c %d = \n", rand()%100, c, rand()%100, d, rand()%100);
}
break ;
case 4:printf(" \n");
printf("帮助信息\n");
printf ("您需要输入命令代号来进行操作,且\n");
printf ("一年级题目为不超过十位数的加减法;\n");
printf ("二年级的题目为不超过百位数的乘除法;\n");
printf ("三年级的题目为不超过百位的加减乘除的混合题目.\n");
break;
case 5:printf ("程序结束,欢迎下次使用,按任意键结束");
return 0;
default:printf ("Error!!!\n");
printf ("错误操作指令, 请重新输入\n");
}
}
}