C语言寒假大作战04
这个作业属于那个课程 | 2019级计算机科学与技术1班 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10280 |
我在这个课程的目标是 | 使用上次作业的菜单框架,并在其基础上增加各年级题目的答案函数 |
作业正文 | C语言寒假大作战04 |
其他参考文献 | 百度 |
2.2.2 设计思路和遇到的问题
加上答案函数就得理清接下来的答案会发生什么样的结果,然后根据基础知识理清用if语句来分情况对算式进行解析。
2.2.3 程序结果截图
2.2.4 程序代码
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
void help();
void menu();
void error();
void one();
void two();
void three();
int main()
{
int n;
printf("========== 口算成器 ==========\n");
printf("欢迎使用口算生成器:)\n");
printf("\n");
help();
menu();
while(1)
{
scanf("%d",&n);
switch(n)
{
case 1:one();break;
case 2:two();break;
case 3:three();break;
case 4:help();break;
case 5:printf("程序结束,欢迎下次使用\n任意键结束......");break;
default:error();break;
}
}
return 0;
}
void help()
{
printf("帮助信息\n您需要输入命令代号来进行操作, 且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n");
printf("\n");
}
void menu()
{
printf("操作列表:\n1)一年级 \n2)二年级 \n3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作>\n");
}
void error()
{
printf("Error!!!\n");
printf("错误操作指令, 请重新输入\n");
}
void one()
{
int n,a,i,b,c,sum=0;
char op;
op = rand()%3+43;
printf("现在是一年级题目:\n");
printf("请输入生成个数>");
scanf("%d",&n);
printf("<执行操作:)\n\n");
printf("/*----- 一年级 -----*/\n");
for(i=1;i<=n;i++)
{
while(a!=1)
{
char op;
op = rand()%3+43;
b = rand()%10;
c = rand()%10;
if(op==44)
continue;
else
if(op==43)
sum = b + c;
if(op==45)
sum = b - c;
printf("%2d %c %2d = %2d\n",b,op,c,sum);break;
}
}
}
void two()
{
printf("现在是二年级题目:\n");
int a,b,n,i,c;
double sum = 0;
printf("请输入所需要的题目个数");
scanf("%d",&n);
printf("<执行操作:)\n\n");
printf("/*----- 二年级 -----*/\n");
for(i=1;i<=n;i++)
{
while(a!=1)
{
char op;
op = rand()%6+42;
b = rand()%100;
c = rand()%100;
if(op>42&&op<47||op==47&&b==0)
continue;
else
if(op==42)
sum = b*c;
if(op==47)
sum = 1.0*b/c;
printf("%2d %c %2d = %2g\n",b,op,c,sum);break;
}
}
}
void three()
{
printf("现在是三年级题目:\n");
printf("请输入生成个数>\n");
int a,b,c,n,i,m;
double sum = 0;
scanf("%d",&n);
printf("<执行操作:)\n");
printf("/*----- 三年级 -----*/\n");
for(i=1;i<=n;i++)
{
while(a!=1)
{
char op,d;
op = rand()%6+42;
d = rand()%6+42;
b = rand()%100;
c = rand()%100;
m = rand()%100;
if(op==44||op==46||d==44||d==46||op==47&&op==0||d==47&&op==0)
continue;
else
if(op==42&&d==43)
sum = m*b+c;
if(op==42&&d==45)
sum = m*b-c;
if(op==42&&d==42)
sum = m*b*c;
if(op==42&&d==47)
sum = m*b*1.0/c;
if(op==43&&d==43)
sum = m+b+c;
if(op==43&&d==45)
sum = m+b-c;
if(op==43&&d==47)
sum = m+b*1.0/c;
if(op==45&&d==42)
sum = m-b*c;
if(op==45&&d==43)
sum = m-b+c;
if(op==45&&d==47)
sum = m-b*1.0/c;
if(op==47&&d==42)
sum = m*1.0/b*c;
if(op==47&&d==43)
sum = m*1.0/b+c;
if(op==47&&d==45)
sum = m*1.0/b-c;
if(op==47&&d==47)
sum = m*1.0/b/c;
printf("%2d %c %2d %c %2d = %2g\n",m,op,b,d,c,sum);break;
}
}
}