zoukankan      html  css  js  c++  java
  • 第四次作业

    内容一
    已经全部完成

    内容二
    题目7-1 计算分段函数

    #include<stdio.h>
    int main()
    {
    	float x,result;
    	scanf("%f",&x);
    	if (x==0)
    	{
    		printf("f(%.1f) = %.1f",x,result);
    	}
    	else
    	{
    		result=1.0/x;
    		printf("f(%.1f) = %.1f",x,result);
    	}
    	
    }
    

    设计思路
    (1)根据题目可以找出两种情况,分别为x等于0与x不等于0两种情况。
    (2)使用if语句分成两种情况求y。
    (3)按照题目要求输出最后结果。
    流程图

    问题与解决方法

    最开始遇到了这个问题,然后反复检查也没有发现别的问题,但答案就是错的,最后突然想到if语句中要用两个等号才能代表等于,进行了修改,最终正确。

    题目7-2 A除以B

    #include<stdio.h>
    int main()
    {
    
    	float a,b,c,d,e;
    	scanf("%f %f",&a,&b);
    	if(b>0)
    	{
    		c=a/b;
    		printf("%.0f/%.0f=%.2f",a,b,c);
    	}
    	else
    	{
    		if(b==0)
    		{
    			printf("%.0f/%.0f=Error",a,b);
    		}
    		else
    		{
    			c=a/b;
    			printf("%.0f/(%.0f)=%.2f",a,b,c);
    		}
    	}
    }
    

    设计思路
    (1)该题给出了三个输出和输入的样例,就说明要考虑这三种情况。
    (2)仔细看题目的要求若下面为负数时候,输出的除数要加括号,若除数为0则输出英文,输出的得数一定要保证两位小数。
    (3)整体数据都是float形式,所以输出的时候要加上%.0f,这样就是整数了。
    (4)最后输出结果
    流程图

    问题与解决方法
    此题上课做过练习,没有问题。

    题目7-6 阶梯电价

    #include<stdio.h>
    int main()
    {
    	float x,cost;
    	scanf("%f",&x);
    	if (x>=0&&x<=50)
    	{
    		cost=x*0.53;
    		printf("cost = %.2f",cost);
    	}
    	else
    	{
    		if (x>50)
    		{
    			cost=50.00*0.53+(x-50)*0.58;
    			printf("cost = %.2f",cost);
    		}
    		else if (x<0)
    		{
    			printf("Invalid Value!");
    		}
    		
    	}
    }
    

    设计思路
    (1)这道题的算法分为两种,一种是50 度以内,一种是50度以外,注意是超出的部分收费。
    (2)结果保留到小数点后两位,输出结果。
    流程图

    问题与解决方法

    刚开始对问题没有读懂,没有看到是超出部分价格上涨,后来再次读题,进行了修改。

    题目7-7 出租车计价

    #include<stdio.h>
    int main()
    {
    	int g;
    	float a,b,c,d,e;
    	scanf("%f %f",&a,&b);
    	if (b<5)
    	{
    		if(a<=3)
    		{
    			c=10;
    			printf("%.0f",c);
    		}
    		else
    		{
    			if (a>3&&a<=10)
    			{
    				c=10+(a-3)*2;
    				printf("%.0f",c);
    			}
    			else if(a>10)
    			{
    				c=10+14+(a-10.0)*3;
    				printf("%.0f",c);
    			}
    		}
    	}
    	else if (b>=5)
    	{
    		if(a<=3)
    		{
    			c=10;
    			d=b/5.0*2;
    			e=c+d;
    			printf("%.0f",e);
    		}
    		else
    		{
    			if (a>3&&a<=10)
    			{
    				c=10+(a-3)*2;
    					d=b/5.0*2;
    			        e=c+d;
    				printf("%.0f",e);
    			}
    			else if(a>10)
    			{
    				c=10+14+(a-10.0)*3;
    					g=(b/5);
    					d=g*2;
    			         e=c+d;
    				printf("%.0f",e);
    			}
    		}
    	}
    	
    
    }
    

    设计思路
    (1)题目中给出了很多条件,都需要分情况讨论,进行一下整理,最后觉得先判断有没有因路阻而收费的,从而分为两种情况,再在每种情况中讨论另为三种情况。
    (2)还要注意特别计算时候的优先级,还有四舍五入的问题。
    流程图

    问题与解决方法
    这道题理清思路后也并不是很难,关键是在最后的小数的四舍五入,没有别的问题。

    GIT
    已经上传
    地址https://git.coding.net/MikeJackYao/The-first.git

    总结、互评和学习进度
    1、总结本周所学内容:本周主要做了很多练习,并且学习了一些文档,表格和网页制作,对于一些符号用法更进一步了解,本周过得还算充实。
    2、点评
    于耀淞:http://www.cnblogs.com/jsjyys/p/7709233.html
    徐铭博:http://www.cnblogs.com/xmb1547828350/p/7719018.html
    刘炜旗:http://www.cnblogs.com/ryo-/
    3、表格和折线图

  • 相关阅读:
    迷宫
    小猫
    数位DP模板
    摘桃子
    [USACO10HOL]牛的政治Cow Politics
    ArcEngine中合并断开的线要素(根据几何判断)
    ArcEngine环境下合并断开的线要素(根据属性)
    Web Service和WCF的到底有什么区别
    OGC 的 WMS、WFS 及WCS服务(转)
    ArrayList的使用方法详解(转)
  • 原文地址:https://www.cnblogs.com/yaoshunyux/p/7747467.html
Copyright © 2011-2022 走看看