• 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

  • 相关阅读:
    麦卡姆轮运动原理
    ESP32开发(2)esp32-cam采集图像
    ESP32开发(1)环境配置
    Cesium学习笔记2-3:视频投影
    Cesium中实时显示经纬度及视角高
    Cesium学习笔记2-5:内部使用阳历扩展
    Cesium学习笔记2-4:外部扩展
    Cesium学习笔记2-4:更多官方示例
    win10通过wifi分享上网
    更换源地址
  • 原文地址:https://www.cnblogs.com/tangyanwen/p/12443826.html
Copyright © 2020-2023  润新知