C语言寒假大作战03
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 链接 |
我在这个课程的目标是 | 学习rand函数 |
参考文献 | 链接 |
2.2.2设计思路和遇到的问题
设计思路:
1.在上一次的作业的基础上添加随机数的概念。
2.利用新接触的rand()函数完成随机生成数。
3.然后使上次的变成口算题。
心路历程:
心里没什么波澜→好奇(学习新函数)→有点意思→卡壳(三年级的有点难)→逐渐舒服(观看链接和别人的博客)→炸裂(git提交不到gitee)→over
2.2.3程序结果截图
2.2.4程序代码
include<stdio.h>
include<stdlib.h>
include<time.h>
int help(int m);
int main(void)
{
time_t t;
srand((unsigned) time(&t));
printf(" 口算生成器 \n");
printf("欢迎使用口算生成器:)\n");
int a = -1, b = 0, HELP, EXIT,i,m,c,n;
char ch,ch1;
while (a != 0)
{
printf("\n");
printf("\n");
printf("操作列表\n");
printf("1) 一年级 2) 二年级 3) 三年级\n");
printf("4) HELP 5) EXIT\n");
printf("请选择: \n");
scanf("%d", &a);
switch (a)
{
case 1:
printf("现在是一年级题目\n");
printf("请输入生成个数:\n");
scanf("%d",&m);
printf("题目如下:\n");
for(i=0;i<m;i++)
{
b=rand()%2;
if(b==1)
{
printf("%d + %d= \n",rand()%11,rand()%11);
}
else
{
printf("%d - %d= \n",rand()%11,rand()%11);
}
}
break;
case 2:
printf("现在是二年级题目\n");
printf("请输入生成个数:\n");
scanf("%d",&m);
printf("题目如下:\n");
for(i=0;i<m;i++)
{
b=rand()%2;
if(b==1)
{
printf("%d * %d= \n",rand()%101,rand()%101);
}
else
{
printf("%d / %d= \n",rand()%100+1,rand()%100+1);
}
}
break;
case 3:
printf("现在是三年级题目\n");
printf("请输入生成个数:\n");
scanf("%d",&m);
printf("题目如下:\n");
for(i=1;i<=m;i++)
{
b=rand()%4;
switch(b)
{
case 1:ch='+';break;
case 2:ch='-';break;
case 3:ch='*';break;
case 0:ch='/';break;
}
c=rand()%4;
switch(c)
{
case 1:ch1='+';break;
case 2:ch1='-';break;
case 3:ch1='*';break;
case 0:ch1='/';break;
}
printf("%d %c %d %c %d= \n",rand()%100+1,ch,rand()%100+1,ch1,rand()%100+1);
}
break;
case 4:
HELP = help(n);
break;
case 5:
printf("程序结束,欢迎下次使用,按任意键结束....");
return 0;
default:
printf("ERROR!!");
}
}
}
int help(int n)
{
printf("\n");
printf("帮助信息:\n");
printf("您需要输入代号命令号来进行操作,另\n");
printf("壹年级的题目很舒服,为不超过十位的加减法\n");
printf("贰年级的题目不难,为不超过百位的乘除法\n");
printf("叁年级的题目在一二年级的基础上升华,为不超过百位的加减乘除混合运算\n");
}
2.2.5Gitee上传截图与链接
Gitee主页地址