1设计思路和遇到的问题
设计思路:在我看到题目的时候就想到本次作业实在上次作业的基础上深入的,
其中只是多了题目,结合以往作业可以知道,这多出来的部分会在作业地下有参考资料;
遇到的问题:如何设立随机数和变换运算符号;
2.程序结果截图
3.程序代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu();
void help();
void error();
void one();
void two();
void three();
int main()
{
int i;
printf("=======口算生成器======\n欢迎使用口算生成器 :)\n\n\n");
help();
while(i!=5)
{
menu();
printf("请输入操作>");
scanf("%d",&i);
printf("<(执行操作):\n\n\n");
switch(i)
{
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;
}
}
return 0;
}
void help()
{
printf("帮助内容:\n您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位数的加减法:\n");
printf("二年级的题目为不超过百位数的乘除法:\n");
printf("三年级的题目为不超过百位数的加减乘除混合题目.)\n\n\n");
}
void menu()
{
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n\n\n");
}
void error()
{
printf("错误命令,请重新输入正确数值\n\n\n");
}
void one()
{
int i,n,a,b;
char c;
time_t t;
printf("现在是一年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&n);
printf("\n<执行操作 :)\n");
srand((unsigned) time(&t));
for( i = 0 ; i < n ; i++ )
{
a=rand()%10;
b=rand()%10;
if(a%2==0)
{
c='+';
}
else
{
c='-';
}
printf("%d %c %d = __\n",a,c,b);
}
printf("\n\n\n");
}
void two()
{
int i,n,a,b;
char c;
time_t t;
printf("现在是二年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&n);
printf("\n<执行操作 :)\n");
srand((unsigned) time(&t));
for( i = 0 ; i < n ; i++ )
{
a=rand()%10;
b=rand()%10;
if(a%2==0)
{
c='*';
}
else
{
c='/';
}
printf("%d %c %d = __\n",a,c,b);
}
printf("\n\n\n");
}
void three()
{
int i,n=10,a,b,c,d,e;
char f,g;
time_t t;
printf("现在是三年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&n);
printf("\n<执行操作 :)\n");
srand((unsigned) time(&t));
for( i = 0 ; i < n ; i++ )
{
a=rand()%50;
b=rand()%50;
c=rand()%50;
d=rand()%4;
e=rand()%4;
if(d==1) f='+';
if(d==2) f='-';
if(d==3) f='*';
if(d==0) f='/';
if(e==0) g='+';
if(e==1) g='-';
if(e==2) g='*';
if(e==3) g='/';
printf("%d %c %d %c %d = __\n",a,f,b,g,c);
}
printf("\n\n\n");
}
4.Gitee上传截图与连接
https://gitee.com/huang_yun/winter_vacation_battle_03