C语言寒假大作战03
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业的要求 | 作业链接 |
这个作业的目标 | 使用函数、Switch语句来完成菜单程序,产生随机运算。 |
参考文献 | 随机数rand |
设计思路和遇到的问题
设计思路:
1:参考作业二的基本模板;
2:其实从作业二我就有想过用随机出现数字运算,但是没实践;
3:会特别注意程序表现出来的美观。
遇到的问题:
1:怎么把运算符号也做成随机的呢?
(我就百度了一下怎么形成随机运算符,的确有,但我没怎么学会。但我用了一个类似的方法,用if形成条件产生有规律的运算符,虽然
比不上随机的强,但我日后还能进一步去了解如何产生随机预算符。)
程序结果截图
程序代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
printf("======口算生成器======\n");
printf("欢迎使用口算生成器 ^v^\n");
printf("\n");
printf("帮助信息:\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法:\n");
printf("二年级题目为不超过百位的乘除法:\n");
printf("三年级题目为不超过百位的加减乘除混合题目.\n");
printf("\n");
int n=1,x,y,i;
time_t t;
while(n!=0){
srand((unsigned) time(&t));
printf("操作列表:");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
printf("请输入操作> ");
scanf("%d",&n);
printf("\n");
switch(n){
case 1:
printf("现在是一年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&y);
printf("\n");
for(i=1;i<=y;i++){
if(i%2==1){
printf("%d + %d = __\n",rand()%99,rand()%99);
}else{
printf("%d - %d = __\n",rand()%99,rand()%99);
}
}printf("\n");
break;
case 2:
printf("现在是二年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&y);
printf("\n");
for(i=1;i<=y;i++){
if(i%2==1){
printf("%d / %d = __\n",rand()%999,rand()%999);
}else{
printf("%d * %d = __\n",rand()%999,rand()%999);
}
}printf("\n");
break;
case 3:
printf("现在是三年级题目:\n");
printf("请输入生成个数> ");
scanf("%d",&y);
printf("\n");
for(i=1;i<=y;i++){
if(i%4==1){
printf("%d + %d * %d = __\n",rand()%999,rand()%999,rand()%999);
}
if(i%4==2){
printf("%d - %d / %d = __\n",rand()%999,rand()%999,rand()%999);
}
if(i%4==3){
printf("%d / %d + %d = __\n",rand()%999,rand()%999,rand()%999);
}
if(i%4==0){
printf("%d * %d - %d = __\n",rand()%999,rand()%999,rand()%999);
}
}printf("\n");
break;
case 4:
printf("帮助信息:\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法:\n");
printf("二年级题目为不超过百位的乘除法:\n");
printf("三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
break;
case 5:return 0;
default:
printf("error!!!\n");
printf("错误操作指令,请重新输入\n\n\n");break;
}
}
}