C语言寒假大作战04

这个作业属于哪个课程|班级链接
-|-|-
这个作业要求在哪里| 作业要求
这个作业的目标|学会编写口算题菜单,并利用随机函数进行随机题目运算答案
作业正文|作业正文如下
其他参考文献|%g %e %f的区别
2.1设计思路和遇到的问题

·心路历程:几次作业下来都是加一些东西,慢慢来总会写出来的。
·设计思路:1)调用函数help,error,menu,operation——1(),operation_2(),operation_3()(声明-调用-定义);
2)while控制循环;
3)switch多分支结构,分情况。
·问题:考虑随机函数与字符型随机函数的结合,使用数学方法,但是错的离谱。
改变策略,推翻之前的自定义函数,把随机数与随机字符函数放到一起。
输出格式不正确,%g,%2lf,%.lf的正确解读.链接

2.2程序结果截图


2.3 程序代码

include<stdio.h>

include<stdlib.h>

include<time.h>

void menu();
void help();
void error(int y);
int operation_1();
int operation_2();
int operation_3();
int main()
{
srand(time(NULL));
int n=1,e1,e2,e3;
printf("口算生成器\n");
printf("欢迎使用口算生成器:\n");
printf("\n");
help();
while(n)
{
menu();
scanf("%d",&n);
if(n==5)
break;
switch(n)
{
case 1:operation_1();
printf("\n");
break;
case 2:operation_2();
printf("\n");
break;
case 3: operation_3();
printf("\n");
break;
case 4:help();
break;
default:error(n);
break;
}
printf("\n");
}
printf("\n");
printf("程序结束,欢迎下次使用......");

}
void help()
{
printf("帮助信息:\n");
printf("你需要输入命令代号来进行操作,且\n");
printf("一年级题目不超过十位数的加减法:\n");
printf("二年级题目不超过百位的乘除法:\n");
printf("三年级题目不超过百位的加减乘除混合题目。\n");
printf("\n");
}
void menu()
{
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("<请输入操作>:");
printf("\n");
}
void error(int y)
{
printf("Error!!");
printf("错误操作指令,请重新输入\n");
}
int operation_1( )
{
srand((unsigned)time(NULL));
int a,b,c,d,e1,j;
printf("现在是一年级题目:\n");
printf("请输入生成个数:\n");
scanf("%d",&e1);
for(j=1;j<=e1;j++)
{
a=rand()%2;
b=rand()%11;
c=rand()%11;
if(a0)
{
d=b+c;
printf("%2d+%2d=%2d",b,c,d);
printf("\n");
}
else
{
d=b-c;
printf("%2d-%2d=%2d",b,c,d);
printf("\n");
}
}
}
int operation_2()
{
srand((unsigned)time(NULL));
int j,e2;
double a,b,c;
float d;
printf("现在是二年级题目:\n");
printf("请输入生成个数:\n");
scanf("%d",&e2);
for(j=1;j<=e2;j++)
{
a=rand()%2;
b=rand()%11;
c=rand()%11;
if(a
0)
{
d=bc;
printf("%.lf
%.lf=%g",b,c,d);
printf("\n");
}
else
{
d=b/c;
printf("%.lf/%.lf=%g",b,c,d);
printf("\n");
}
}

}
int operation_3()
{
srand((unsigned)time(NULL));
int a,f,e3,j;
double b,c,d,g;
float h;
char op,op1;
printf("现在是三年级题目:\n");
printf("请输入生成个数:\n");
scanf("%d",&e3);
for(j=1;j<=e3;j++)
{
a=rand()%4;
b=rand()%101;
c=rand()%101;
d=rand()%101;
f=rand()%4;
switch(a)
{
case 0:op='+';g=b+c;break;
case 1:op='-';g=b-c;break;
case 2:op='';g=bc;break;
case 3:op='/';g=b/c;break;
}
switch(f)
{
case 0:op1='+';h=g+d;break;
case 1:op1='-';h=g-d;break;
case 2:op1='';h=gd;break;
case 3:op1='/';h=g/d;break;
}
printf("%.lf%2c%.lf%2c%.lf=%g",b,op,c,op1,d,h);
printf("\n");
}

}
2.4Gitee上传截图与链接

链接

posted @ 2020-02-15 13:05  啧啧卡  阅读(167)  评论(0编辑  收藏  举报