C语言寒假大作战04

这个作业属于哪个课程 <a href="https://edu.cnblogs.com/campus/zswxy/CST2019-1/"target=_blank">《c语音程序设计》
这个作业要求在哪里 <a href="https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10280"target=_blank">《C语言寒假大作战04 》
我在这个课程目标是 复习if语句的用法
参考文献

设计思路和遇到的问题

问题:认为可以直接定义的symbol参与计算

设计思路:用if语句来分出几种情况来继续,分别计算出每种情况下的答案。

程序截图:

一年级

二年级

三年级

2.2.4 程序代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h> 
void Operationlist();
void firstgrade();
void secondgrade();
void gradethree();
void help();
void qiut();
void error();
int menu()
{
	printf("========== 口算生成器 ==========
欢迎使用口算生成器 :

");
	help();
	Operationlist();
	int n;
	scanf("%d",&n);
	return n;
}
int main(void)
{
	int i=menu();
	int flag=1;
	while(flag==1){
		switch(i){
			case 1:firstgrade();break;
			case 2:secondgrade();break;
			case 3:gradethree();break;
			case 4:help();break;
			case 5:printf("
程序结束, 欢迎下次使用
任意键结束……");qiut();break;
			default:error();break;
		}
		Operationlist();
		scanf("%d",&i);
	}
	return 0;
}
void Operationlist()
{
	printf("
操作列表:
1)一年级    2)二年级    3)三年级
4)帮助      5)退出程序
请输入操作>");
}
void firstgrade() 
{
	int i,t,x,randomnumber1,randomnumber2,sum;
	char symbol;
	printf("
现在是一年级的题目:
生产题目个数:");
	scanf("%d",&i);
	srand((unsigned)time(NULL));
	for(x=0;i>x;x++){
		t=rand()%2;
		randomnumber1=rand()%10,randomnumber2=rand()%10;
		if(t==0){
			symbol='+';
			sum=randomnumber1+randomnumber2;
		}
		else{
			symbol='-';
			sum=randomnumber1-randomnumber2;
		}
		printf("%d %c %d =%d
",randomnumber1,symbol,randomnumber2,sum);
	}
}
void secondgrade()
{
	int i,t,x,randomnumber1,randomnumber2;
	char symbol;
	double sum;
	printf("
现在是二年级的题目:
生产题目个数:");
	scanf("%d",&i);
	srand((unsigned)time(NULL));
	for(x=0;i>x;x++){
		t=rand()%2;
		if(t==0){
			symbol='*';
		}
		else{
			symbol='/';
		}
	if(symbol=='/'){
		randomnumber1=rand()%100,randomnumber2=rand()%100+1;
		sum=randomnumber1*1.0/randomnumber2;
	}
	else{
		randomnumber1=rand()%100,randomnumber2=rand()%100;
		sum=randomnumber1*randomnumber2;
	}
	printf("%d %c %d =%.6f
",randomnumber1,symbol,randomnumber2,sum);
	}
}
void gradethree()
{
	int i,t1,t2,x,randomnumber1,randomnumber2,randomnumber3;
	char symbol1,symbol2;
	double sum;
	char symbol[4]={'+','-','*','/'};
	printf ("
现在是三年级的题目:
生产题目个数:");
	scanf("%d",&i);
	srand((unsigned)time(NULL));
	for(x=0;i>x;x++){
		t1=rand()%4;
		t2=rand()%4;
		symbol1=symbol[t1];
		symbol2=symbol[t2];
	if(symbol1=='/'&&symbol2=='/'){
		randomnumber1=rand()%100,randomnumber2=rand()%100+1,randomnumber3=rand()%100+1;
		sum=randomnumber1*1.0/randomnumber2*1.0/randomnumber3;
	}
	else{
		if(symbol1!='/'&&symbol2=='/'){
			randomnumber1=rand()%100,randomnumber2=rand()%100,randomnumber3=rand()%100+1;
			if(symbol1=='-'){
				sum=randomnumber1-randomnumber2/randomnumber3;
			}
			else{
				if(symbol1=='+'){
					sum=randomnumber1+randomnumber2/randomnumber3;
				}
				else{
					sum=randomnumber1*randomnumber2/randomnumber3;
				}
			}
		}
		else{
			if(symbol1=='/'&&symbol2!='/'){
				randomnumber1=rand()%100,randomnumber2=rand()%100+1,randomnumber3=rand()%100;
				if(symbol2=='-'){
				sum=randomnumber1/randomnumber2-randomnumber3;
			}
			else{
				if(symbol2=='+'){
					sum=randomnumber1/randomnumber2+randomnumber3;
				}
				else{
					sum=randomnumber1/randomnumber2*randomnumber3;
				}
			}
			}
			else{
				randomnumber1=rand()%100,randomnumber2=rand()%100,randomnumber3=rand()%100;
				if(symbol1=='+'&&symbol2=='+'){
					sum=randomnumber1+randomnumber2+randomnumber3;
				}
				else{
					if(symbol1=='+'&&symbol2=='-'){
						sum=randomnumber1+randomnumber2-randomnumber3;
					}
					else{
						sum=randomnumber1+randomnumber2*randomnumber3;
					}
				}
				if(symbol1=='-'&&symbol2=='+'){
					sum=randomnumber1-randomnumber2+randomnumber3;
				}
				else{
					if(symbol1=='-'&&symbol2=='-'){
						sum=randomnumber1-randomnumber2-randomnumber3;
					}
					else{
						sum=randomnumber1-randomnumber2*randomnumber3;
					}
				}
				if(symbol1=='*'&&symbol2=='+'){
					sum=randomnumber1*randomnumber2+randomnumber3;
				}
				else{
					if(symbol1=='*'&&symbol2=='-'){
					sum=randomnumber1*randomnumber2-randomnumber3;	
					}
					else{
						sum=randomnumber1*randomnumber2*randomnumber3;
					}
				}
			}
		}
	}
	printf("%d %c %d %c %d=%.6f
",randomnumber1,symbol1,randomnumber2,symbol2,randomnumber3,sum);
	}
}
void help()
{
	printf("
帮助信息
您需要输入命令代号来进行操作,
 且一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.

");
}
void error()
{
	printf("
Error!!!
错误操作指令, 请重新输入

");
}
void qiut()
{
    exit(0);
}

Gitee上传截图与链接

截图

链接

https://gitee.com/tang_yan_wen/tang20199198

原文地址:https://www.cnblogs.com/tangyanwen/p/12443826.html