• C语言寒假大作战04


    问题 答案
    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业链接
    我在这个课程的目标是 学习git基础命令与使用,学习%g的功能
    参考文献 %g与%d
    作业正文 此篇博客

    2.2.2 设计思路和遇到的问题

    设计思路:

    • 看题目要求,加入可以产生题目答案的代码。
    • 看题目给出的%g,思考怎么使用。
    • 在上一次的作业代码上进行操作。

    心路历程:自信(刚看题目) → 开心(完成代码)→ 疑惑(在输出的答案中用的是科学计数法会由e的出现,不知道怎么让它消失) → 疑惑(网上查了半天也没有找到方法,然后看了一下别人的代码,把%d改成了%.f就解决了。想了很久没找到原因) → 难受(虽然写完了,但是有问题想不通)

    2.2.3 程序结果截图



    2.2.4 程序代码

    程序代码

    #include<stdio.h>
    #include <stdlib.h>
    #include<time.h>
    int help(int a)
    {
    	printf("
    ");
    	printf("帮助信息:
    ");
    	printf("您需要输入代号命令号来进行操作,另
    ");
    	printf("一年级题目较简单
    ");
    	printf("二年级题目有点点难,但我相信你可以
    ");
    	printf("三年级题目比二年级难很多哦加油!
    ");
    }
    int main()
    { 
    	printf("====口算生成器====
    ");
    	printf("欢迎使用口算生成器:
    
    
    ");
    	printf("帮助信息:
    ");
    	printf("您需要输入代号命令号来进行操作,另
    ");
    	printf("一年级题目为不超过十位的加减法;
    ");
    	printf("二年级题目为不超过百位的乘除法
    ");
    	printf("三年级题目为不超过百位的加减乘除混合题目.
    
    ");
    	int i,a,n,h,y;
    	char ch,ch2;
    	time_t t;
    	double b,c,d,e,f,g,m,s;
    	srand((unsigned) time(&t));
    	while(a!=5)	
    	{
    	printf("
    
    ");
    	printf("操作列表:
    1)一年级    2)二年级    3)三年级
    4)帮助     5)退出程序
     ");
    	printf("请选择: ");
    	scanf("%d",&a);
    	switch(a)
    	{
    		case 1:
    			printf("现在是一年级题目:
    请输入生成题目个数: ");
    			scanf("%d",&n);
    			printf("题目已生成::
    ");
    			for(i=0;i<n;i++)
    			{
    				c=rand()%11;
    				d=rand()%11;
    				b=rand()%2;
    				if(b==1)
    					printf(" %.f + %.f = %g
    ",c,d,c+d);
    				else
                    	printf(" %.f - %.f = %g
    ",c,d,c-d);
    			}
    			break;
    		case 2:
    			printf("现在是二年级题目:
    请输入生成题目个数:"); 
    			scanf("%d",&n);
    			printf("题目已生成::
    ");
    			for(i=0;i<n;i++)
    			{
    				c=rand()%101;
    				d=rand()%101;
    				b= rand() % 2;
    				if(b==1)
    					printf(" %.f * %.f = %g
    ", c,d,c*d);
    				else
                    	printf(" %.f / %.f = %g
    ", c,d,c/d);
    			} 
    			break;
    		case 3:
    			printf("现在是三年级题目:
    请输入生成题目个数:");
    			scanf("%d",&n);
    			for(i=1;i<=n;i++)
    			{
    				h=rand()%4;
    				e=rand()%101;
    				f=rand()%101;
    				g=rand()%101;
    				switch(h)
    			{
    				case 0:
    					ch='+';m=e+f;break;
    					case 1: 
    					ch='-';m=e-f;break;
    					case 2:
    					ch='*';m=e*f;break;
    					case 3:
    					ch='/';m=e/f;break;
    			}
    				y=rand()%4;
    				switch(y)
    			{
    					case 0:
    					ch2='+';s=m+g;break;
    					case 1:
    					ch2='-';s=m-g;break;
    					case 2:
    					ch2='*';s=m*g;break;
    					case 3:
    					ch2='/';s=m/g;break;
    			}
    			printf(" %.f %c %.f %c %.f = %g
    ", e,ch,f,ch2,g,s);
    			}
    			break;
    
    		case 4:
    			help(a);
    			break;
    		case 5:
    			printf("程序结束, 欢迎下次使用
    任意键结束……
    
    
    
    ");
    			break;
    		default:
    			printf("Error!!!
    错误操作指令, 请重新输入
    
    
    ");
    	} 
    }
    }
    
    
    

    2.2.5 Gitee上传截图与链接


    主业地址
    李飞腾的主页

  • 相关阅读:
    【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
    【实战Java高并发程序设计 2】无锁的对象引用:AtomicReference
    access 数据库创建表SQL语法
    如何提高储存卡的读写速度
    SQL 删除重复记录,并保留其中一条
    arcgis for android100.x 禁止地图旋转
    Android中刷新Invalidate和postInvalidate的区别
    Android Studio Gradle配置工具开发
    oracle数据库被注入恶意攻击程序导致tab$被删除恢复方案
    使用Oracle BBED修改Oracle11g数据库实例名称
  • 原文地址:https://www.cnblogs.com/lft791110/p/12274242.html
Copyright © 2020-2023  润新知