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;
		}
	}
}

Gitee上传截图与链接


gitee链接

posted @ 2020-02-11 15:10  红蓼  阅读(140)  评论(0编辑  收藏  举报