C语言寒假大作战04
2.2.1 作业头:
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10275 |
这个作业的目标 | 为了把随机计算的计算题答案显示出来。 |
作业正文 | https://www.cnblogs.com/znlkdsw/p/12312310.html |
其他参考文献 | %g与%d |
2.2.2 设计思路和遇到的问题
开始我在想,难道有什么特定的函数要学习嘛?参考资料没有啊。难道让我们一步步的考虑发生的状况嘛?好吧,实际情况确实是这样。
2.2.3 程序结果截图
2.2.4 程序代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num1(int a);
int num2(int b);
int num3(int c);
int main()
{
int x, a, b, c, i;
printf("======口算生成器======\n");
printf("欢迎使用口算生成器:)\n");
printf("帮助信息:\n");
printf("请输入命令代号进行操作,且:\n");
printf("一年级的题目为不超过十位数的加减法:\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除法:\n");
printf("\n");
printf("\n");
for(int i; x<5; i++)
{
printf("操作列表:");
printf("1) 一年级 2)二年级 3)三年级 \n 4)帮助 5)退出程序\n");
printf("请输入操作>\n");
printf("<执行操作:)");
scanf("%d", &x);
switch(x)
{
case 1:num1(a); break;
case 2:num2(b); break;
case 3:num3(c); break;
case 4:printf("帮助信息:\n");
printf("请输入命令代号进行操作,且:\n");
printf("一年级的题目为不超过十位数的加减法:\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除法:\n"); break;
case 5: break;
default:printf("Error!!!\n 错误命令,请重新键入"); break;
}
}
printf("程序结束,欢迎下次使用\n 按任意键结束......");
return 0;
}
int num1(int a)
{
int n, x, y, i;
char t;
double sum;
printf("现在是一年级的题目:\n");
printf("请输入生成题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%9+1;
y=rand()%9+1;
char symbol[2] = {'+','-'};
t=symbol[rand()%2];
if(t=='+')
{
sum=(double)x+y;
printf("%d %c %d = %.6g\n", x,t,y,sum);
}
else
{
sum=(double)x-y;
printf("%d %c %d = %.6g\n", x,t,y,sum);
}
}
return 0;
}
int num2(int b)
{
int n, x, y, i;
char t;
double sum;
printf("现在是二年级的题目:\n");
printf("请输入生成的题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%99+1;
y=rand()%99+1;
char symbol[2] = {'*','/'};
t=symbol[rand()%2];
if(t=='*')
{
sum=(double)x*y;
printf("%d %c %d = %.6g\n", x,t,y,sum);
}
else
{
sum=(double)x/y;
printf("%d %c %d = %.6g\n", x,t,y,sum);
}
}
return 0;
}
int num3(int c)
{
int n, x, y, z, i;
char t, h;
double sum;
printf("现在是三年级的题目:\n");
printf("请输入生成的题目个数:\n");
scanf("%d", &n);
printf("<执行操作:)\n");
srand((unsigned)time(NULL));
for(i=1; i<=n; i++)
{
x=rand()%99+1;
y=rand()%99+1;
z=rand()%99+1;
char symbol[4] = {'+','-','*','/'};
t=symbol[rand()%4];
h=symbol[rand()%4];
if(t=='+')
{
if(h=='+')
{
sum=(double)x+y+z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='-')
{
sum=(double)x+y-z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='*')
{
sum=(double)x+y*z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='/')
{
sum=(double)x+y/z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
}
else if(t=='-')
{
if(h=='+')
{
sum=(double)x-y+z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='-')
{
sum=(double)x-y-z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='*')
{
sum=(double)x-y*z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='/')
{
sum=(double)x-y/z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
}
else if(t=='*')
{
if(h=='+')
{
sum=(double)x*y+z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='-')
{
sum=(double)x*y-z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='*')
{
sum=(double)x*y*z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='/')
{
sum=(double)x*y/z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
}
else if(t=='/')
{
if(h=='+')
{
sum=(double)x/y+z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='-')
{
sum=(double)x/y-z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='*')
{
sum=(double)x/y*z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
else if(h=='/')
{
sum=(double)x/y/z;
printf("%d %c %d %c %d = %.6g\n",x,t,y,h,z);
}
}
}
return 0;
}
2.2.5 Gitee上传截图与链接