C语言寒假大作战04

这个作业属于哪个课程 班级链接
这个作业的要求 作业链接
这个作业的目标 使用函数、Switch语句来完成菜单程序,产生随机运算,并得出答案。
参考文献 如何产生随机运算符

设计思路和遇到的问题

1.参照作业三的模板;
2.改进(产生随机运算符);

程序结果截图

程序代码

#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,o;
	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++){
					int a,b,c;
					a=rand()%99,b=rand()%99;
					c=rand()%o;
					if(c%2==1){
						printf("%d + %d = %d\n",a,b,a+b);
					}else{
						printf("%d - %d = %d\n",a,b,a-b);
					}
				}printf("\n");
				break;
			case 2:
				printf("现在是二年级题目:\n");
	    		printf("请输入生成个数> "); 
				scanf("%d",&y);
				printf("\n");
				for(i=1;i<=y;i++){
					int c;
				    double a,b;
					a=rand()%999,b=rand()%999;
					c=rand()%o;
					if(c%2==1){
						printf("%.f / %.f = %.6f\n",a,b,a/b);
					}else{
						printf("%.f * %.f = %.f\n",a,b,a*b);
					}
				}printf("\n");
				break;
			case 3:
				printf("现在是三年级题目:\n");
	    		printf("请输入生成个数> "); 
				scanf("%d",&y);
				printf("\n");
				for(i=1;i<=y;i++){
					int c;
					double a,b,d;
					a=rand()%999,b=rand()%999,d=rand()%999;
					c=rand()%16;
					switch(c){
						case 0:
							printf("%.f + %.f + %.f = %.f\n",a,b,d,a+b+d);break;
						case 1:
							printf("%.f + %.f - %.f = %.f\n",a,b,d,a+b-d);break;
						case 2:
							printf("%.f + %.f * %.f = %.f\n",a,b,d,a+(b*d));break;
						case 3:
							printf("%.f + %.f / %.f = %.6f\n",a,b,d,a+(b/d));break;
						case 4:
							printf("%.f - %.f + %.f = %.f\n",a,b,d,a-b+d);break;
						case 5:
							printf("%.f - %.f - %.f = %.f\n",a,b,d,a-b-d);break;
						case 6:
							printf("%.f - %.f * %.f = %.f\n",a,b,d,a-(b*d));break;
						case 7:
							printf("%.f - %.f / %.f = %.6f\n",a,b,d,a-(b/d));break;
						case 8:
							printf("%.f * %.f + %.f = %.f\n",a,b,d,(a*b)+d);break;
						case 9:
							printf("%.f * %.f - %.f = %.f\n",a,b,d,(a*b)-d);break;
						case 10:
							printf("%.f * %.f * %.f = %.f\n",a,b,d,a*b*d);break;
						case 11:
							printf("%.f * %.f / %.f = %.6f\n",a,b,d,a*b/d);break;
						case 12:
							printf("%.f / %.f + %.f = %.6f\n",a,b,d,(a/b)+d);break;
						case 13:
							printf("%.f / %.f - %.f = %.6f\n",a,b,d,(a/b)-d);break;
						case 14:
							printf("%.f / %.f * %.f = %.6f\n",a,b,d,a/b*d);break;
						case 15:
							printf("%.f / %.f / %.f = %.6f\n",a,b,d,a/b/d);break;
					}
				}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;
		}
	}
}

Gitee上传截图与链接

gitee链接

posted @ 2020-02-16 14:56  红蓼  阅读(93)  评论(0编辑  收藏  举报