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、表格和折线图

  • 相关阅读:
    UVALive 7141 BombX
    CodeForces 722D Generating Sets
    CodeForces 722C Destroying Array
    CodeForces 721D Maxim and Array
    CodeForces 721C Journey
    CodeForces 415D Mashmokh and ACM
    CodeForces 718C Sasha and Array
    CodeForces 635C XOR Equation
    CodeForces 631D Messenger
    田忌赛马问题
  • 原文地址:https://www.cnblogs.com/yaoshunyux/p/7747467.html
Copyright © 2011-2022 走看看