#include
#include
#include
void menu()
{
printf("操作列表:\n 1)一年级 2)二年级 3)三年级\n 4)帮助 5)退出程序\n请输入操作>\n");
}
void help()
{
printf("帮助信息:\n您需要输入命令代号来进行操作, 且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n");
}
void error()
{
printf("Error!!!\n错误操作指令,请重新输入\n\n");
}
void operation_1()
{
printf("现在是一年级的题目\n");
char op[2]={'+','-'} ;
int i,n;
printf("请输入生成个数> ");
scanf("%d",&n);
srand(time(NULL));
for(i=1;i<=n;i++){
int result1=rand()%10;
int result2=rand()%10;
if(op[rand()%2]=='+')
printf("%d + %d = %d\n",result1,result2,result1+result2);
else
printf("%d - %d = %d\n",result1,result2,result1-result2);
}
}
void operation_2()
{
printf("现在是二年级的题目\n");
char op[2]={'*','/'} ;
int a,b;
printf("请输入生成个数> ");
scanf("%d",&b);
srand(time(NULL));
for(a=1;a<=b;a++){
int result1=rand()%100;
int result2=rand()%100;
if(op[rand()%2]=='*')
printf("%d * %d = %d\n",result1,result2,result1*result2);
else
printf("%d / %d = %lf\n",result1,result2,(double)result1/result2);
}
}
void operation_3()
{
printf("现在是三年级的题目\n");
char op[4]={'+','-','*','/'} ;
int x,y;
printf("请输入生成个数> ");
scanf("%d",&y);
srand(time(NULL));
for(x=1;x<=y;x++){
inta=rand()%100+1;
intb=rand()%100+1;
intc=rand()%100+1;
switch(rand()%16+1) {
case 1:printf("%d + %d + %d = %d\n",a,b,c,a+b+c);break;
case 2: printf("%d + %d - %d = %d\n",a,b,c,a+b-c); break;
case 3: printf("%d + %d * %d = %d\n",a,b,c,a+b*c); break;
case 4: printf("%d + %d / %d = %lf\n",a,b,c,a+(double)b/c); break;
case 5: printf("%d - %d + %d = %d\n",a,b,c,a-b+c); break;
case 6: printf("%d - %d - %d = %d\n",a,b,c,a-b-c); break;
case 7: printf("%d - %d * %d = %d\n",a,b,c,a-b*c); break;
case 8: printf("%d - %d / %d = %lf\n",a,b,c,a-(double)b/c); break;
case 9: printf("%d * %d + %d = %d\n",a,b,c,a*b+c); break;
case 10: printf("%d * %d - %d = %d\n",a,b,c,a*b-c); break;
case 11: printf("%d * %d * %d = %d\n",a,b,c,a*b*c); break;
case 12: printf("%d * %d / %d = %lf\n",a,b,c,a*(double)b/c); break;
case 13: printf("%d / %d + %d = %lf\n",a,b,c,(double)a/b+c); break;
case 14: printf("%d / %d - %d = %lf\n",a,b,c,(double)a/b-c); break;
case 15: printf("%d / %d * %d = %lf\n",a,b,c,(double)a/b*c); break;
case 16: printf("%d / %d / %d = %lf\n",a,b,c,(double)a/b/c); break;
}
}
}
int main()
{
int x;
printf("========== 口算生成器 ==========\n欢迎使用口算生成器 :\n\n");
help();
menu();
while(1)
{
scanf("%d",&x);
printf("< 执行操作 >\n\n");
switch (x)
{
case 1: operation_1(); break;
case 2: operation_2(); break;
case 3: operation_3(); break;
case 4: help(); break;
case 5: printf("程序结束, 欢迎下次使用 任意键结束……\n"); break;
default:error(); break;
}
if(x!=5)
menu();
}
return 0;
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史