问题 答案
这个作业属于那个课程 https://edu.cnblogs.c0m/campus/zswxy/CST2019-4
这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10277
作业正文 在上次各年级题目中加上答案
参考文献 百度

2.2.2 设计思路和遇到的问题

设计思路:在上次的作业上加上答案。
问题:这次比较简单,还没有问题。

2.2.3 程序结果截图

2.2.4 程序代码截图

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
void menu();
void help();
void one();void operation_1();
void two();void operation_2();
void three();void operation_3();
void error();
int main()
{
int opt=1,n;
printf("==========口算生成器==========\n");
printf("欢迎使用口算生成器:\n");
printf("\n");
help();
while(opt!=0)
{
menu();
printf("请输入操作> ");
scanf("%d",&opt);
printf("<执行操作:)\n");
printf("\n");
switch(opt)
{
case 1:operation_1();break;
case 2:operation_2();break;
case 3:operation_3();break;
case 4:help();break;
case 5:printf("程序结束, 欢迎下次使用\n");
printf("任意键结束……");
opt=0;
default:error();break;
}
}
return 0;
}
void menu()
{
printf("\n");
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
}
void help()
{
printf("\n");
printf("帮助信息\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法\n");
printf("二年级题目为不超过百位的乘除法\n");
printf("三年级题目为不超过百位的加减乘除混合题目.\n");
}
void operation_1()
{
printf("请输入生成个数>");
one();
}
void operation_2()
{
printf("请输入生成个数>");
two();
}
void operation_3()
{
printf("请输入生成个数>");
three();
}
void one()
{
int n,a,b,c,d;
time_t t;
srand((unsigned) time(&t));
printf("现在是一年级题目:\n");
scanf("%d",&n);
printf("<执行操作:)\n");
for (int i=0;i<n;i++)
{
a=rand() % 10;
b=rand() % 10;
c=rand() % 2;
if (c==0)
{ d=a+b;
printf("%d + %d = %d\n",a,b,d);
}
else
{
d=a-b;
printf("%d - %d = %d\n",a,b,d);
}
} }
void two()
{
int n,a,b,c;
float d;
time_t t;
srand((unsigned) time(&t));
printf("现在是二年级题目:\n");
scanf("%d",&n);
printf("<执行操作:)\n");
for (int i=0;i<n;i++)
{
a=rand() % 10;
b=rand() % 10;
c=rand() % 2;
if (c==0)
{
d=a*b;
printf("%d * %d = %g\n",a,b,d);
}
else{
while(b==0)
{
b=rand() % 10;
}
d=a/(b*1.0);
printf("%d / %d = %g\n",a,b,d);
}
} }
void three()
{
int n,m,i,a,b,c;
float z;
char fh1[2],fh2[2];
time_t t;
srand((unsigned) time(&t));
printf("现在是三年级题目:\n");
scanf("%d",&n);
printf("<执行操作:)\n");
char fh[4][6] = {"*","/","+","-"};
for (int i=0; i<n; i++)
{
a=rand() % 100;
b=rand() % 100;
c=rand() % 100;
while (a==0||b==0||c==0)
{
a=rand() % 100;b=rand() % 100;c=rand() % 100;
}
strcpy(fh1,fh[rand() % 3]);
strcpy(fh2,fh[rand() % 3]);
if(strcmp(fh1,"*")==0&&strcmp(fh2,"*")==0)
{
z = a * b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"*")==0&&strcmp(fh2,"/")==0)
{
z = a * b / (c*1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"*")==0&&strcmp(fh2,"+")==0)
{
z = a * b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"*")==0&&strcmp(fh2,"-")==0)
{
z = a * b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"+")==0)
{
z = a / (b*1.0) + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"-")==0)
{
z = a / (b*1.0) - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"/")==0)
{
z = a / (b*1.0) / (c*1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"-")==0)
{
z = a + b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"+")==0)
{
z = a + b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"-")==0)
{
z = a - b - c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"/")==0&&strcmp(fh2,"*")==0)
{
z = a / (b*1.0) * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"/")==0)
{
z = a + b / (c*1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"+")==0&&strcmp(fh2,"*")==0)
{
z = a + b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"/")==0)
{
z = a - b / (c*1.0);
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"+")==0)
{
z = a - b + c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
else if(strcmp(fh1,"-")==0&&strcmp(fh2,"*")==0)
{
z = a - b * c;
printf("%2d %s %2d %s %2d = %g\n",a,fh1,b,fh2,c,z);
}
} }
void error()
{
printf("Error!!!\n");
printf("错误操作指令, 请重新输入\n");
}

2.2.5 Gitee上传截图与链接

最新文章

  1. JavaScript实现通过的集合类
  2. vs2005连接sqlserver2008数据库遇到的问题
  3. sharepoint2013的最少下载策略概述(MDS)
  4. .net 应用迁移到Mono 工具 (Moma)
  5. Xcode显示行号
  6. Two kinds of Quaternion SlerpImp (Unity)
  7. python递归查找文件目录
  8. [SHOI2008]汉诺塔
  9. CRM实施目标、需求、策略、厂商、流程等基本介绍全解
  10. elasticsearch系列一:elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)
  11. HBase Block Cache(块缓存)
  12. VMProtect1.63分析
  13. MVC学习之路【小补充】
  14. Python中关于列表排序并保留id/enumerate()使用方法
  15. Netflix:我们为什么要将 GraphQL 引入前端架构? (转)
  16. Win10系列:C#应用控件基础14
  17. saltstack 命令2
  18. 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制
  19. 【Docker】Docker 目录
  20. javascript原生事件总结

热门文章

  1. vue不常用到的v-model修饰符
  2. Sentinel :微服务哨兵
  3. es6中的面向对象写法
  4. vue学习笔记1:el 与 data
  5. Window同一电脑配置多个git公钥
  6. 关于爬虫的日常复习(17)——scrapy系列2
  7. python 装饰器-初识
  8. ORM Q查询
  9. 【数据结构】FHQ Treap详解
  10. 学习 lind api 十月 第5弹