C语言寒假大作战03
问题 | 答案 |
---|---|
这个作业属于那个课程 | 2019级计算机4班 |
这个作业要求在哪里 | C语言寒假大作战03 |
这个作业的目标 | 使用switch编写菜单程序,使用rand函数来产生随机数,并以规律进行排列 |
作业正文 | 作业正文 |
其它参考文献 | 随机数rand |
2.2.2 设计思路和遇到的问题
思路:在02的基础上,利用rand函数实现数值的随机,利用switch函数实现加减乘除的随机。
2.2.3 程序结果截图
2.2.4 程序代码
#include<stdio.h>
#include <windows.h>
#include<stdio.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void help();
void error();
void one();
void two();
void three();
int main()
{
int a;
printf("========== 口算生成器 ==========\n");
printf("欢迎使1用口算生成器 :");
help();
while(1)
{
Sleep(1000);
printf("\n\n操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n4)帮助 5)退出程序\n请输入操作> ");
scanf("%d",&a);
printf("\n<执行操作:)\n");
Sleep(1000);
switch(a)
{
case 1:one();break;
case 2:two();break;
case 3:three();break;
case 4:help();break;
case 5:printf("\n\n程序结束, 欢迎下次使用\n任意键结束……\n");break;
default:error();break;
}
if(a==5)
break;
}
Sleep(3000);
}
void one()
{
printf("\n\n现在是一年级题目:\n");
int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
printf("\n<执行操作:)\n");
for(i=0;i<w;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 two()
{
printf("\n\n现在是二年级题目:\n");
int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
printf("\n<执行操作:)\n");
for(i=0;i<w;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 three()
{
printf("\n\n现在是三年级题目:\n");
int a,b,c,i,w;
srand((unsigned)time( NULL ));
printf("请输入生成个数>");
scanf("%d",&w);
printf("\n<执行操作:)\n");
for(i=0;i<w;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 k;
k=rand()%100+0;
c=rand()%4+1;
if(c==4&&k==0)
{
i--;
continue;
}
switch(c)
{
case 1:printf(" + %d",k);break;
case 2:printf(" - %d",k);break;
case 3:printf(" * %d",k);break;
case 4:printf(" / %d",k);break;
}
printf(" = ___\n");
}
}
void help()
{
printf("\n\n帮助信息\n");
printf("您需要输入命令代号来进行操作, 且\n");
printf("一年级题目为不超过十位的加减法;\n");
printf("二年级题目为不超过百位的乘除法;\n");
printf("三年级题目为不超过百位的加减乘除混合题目.");
}
void error()
{
printf("\n\nError!!!\n错误操作指令, 请重新输入\n");
}
2.2.5 Gitee上传截图与链接
链接:https://gitee.com/ning_fan/winter_vacation_battle/tree/master
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Huawei LiteOS基于Cortex-M4 GD32F4平台移植
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处