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

    题目7-1,计算分段函数
    1,实验代码

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

    2,设计思路
    <1>第一步
    第二步:明确double型需要在scanf中定义%lf,再用到if else的基本语句。
    第三步:编译运行,符合题目要求。
    <2>流程图:

    3,本题调试过程中遇到的问题及解决方法
    错误截图:
    不知道double型是需要用%lf来定义的,在这个题目上也浪费了许多时间去找错误,才发现是把l打成了1,感觉这不应该是能力问题,上课有提到过,没注意听,导致了这次的失误,在同学的帮助下才改正过来。

    题目7-2,A除以B
    1,实验代码

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

    2,设计思路
    <1>第一步:写出基本框架。
    第二步:定义两个变量,注意保留两位小数是%.2f,运用有多种选择的if else的写法,在printf中按题目要求计算式子的形式。
    第三步:编译运行,看是否有要求的/,没有就继续添加,完成该题。
    <2>流程图

    3,本题调试过程中遇到的问题及解决方法
    错误截图:
    还是浮点型的问题,直到这里才弄明白,double定义双精度,比float更为准确。

    题目7-6
    1,实验代码

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

    2,设计思路
    <1>第一步:写出基本框架。
    第二步:定义一个变量A,写出它的范围,用B去乘题目要求的0.53,然后使用if else编译语句,写出50后每千瓦的电费,用超出的部分加上固定的部分,再用else结尾写出另一个条件。
    第三步:编译运行,符合题意。
    <2>流程图:

    3,本题调试过程中遇到的问题和解决方法。
    本题在这次作业中应该是最简单的一道,没有出现什么问题,但我发现一个有趣的现象。当小数点最后一个数字为0的时候,无论是用double还是float去定义数的精确度,在后面%.2f不变的条件下,输入的结果都是对的。我不知道这算不算一种巧合,我希望老师在看到后可以给予我改正,在这里先谢谢老师了。
    两次的截图:

    题目7-7出租车计价
    1,实验代码

    #include<stdio.h>
    int main()
    {
      int C;
      float A,B;
      scanf("%f %d",&A,&C);
      if(A<=3&&C<5)
         B=10;
      else if(A<=3&&C>=5)
         B=10+C/5*2;
      else if(A>3&&A<=10&&C<5)
         B=(A-3)*2+10;
      else if(A>3&&A<=10&&C>=5)
         B=(A-3)*2+10+C/5*2;
      else if(A>10&&C<5)
         B=24+(A-10)*3;
      else if(A>10&&C>=5)
         B=24+(A-10)*3+C/5*2;
      printf("%.0f",B);
      return 0;
    }
    

    2,设计思路
    <1>第一步:写出基本思路
    第二步:此题是比较麻烦的一题,有很多种情况,需要先定义一个基本的分钟数,为整数,因为是在五分钟以下统一标准,故可以以五为分界点来讨论,不要去定义float类型的小数。
    第三步:里程必须用float去定义,额外的B就是用来计算费用,一共有六种情况。
    1,里程<=3,停车时间<=5。
    2,里程<=3,停车时间>5。
    3,3<里程<=10,停车时间<=5。
    4,3<里程<=10,停车时间>5。
    5,里程>10,停车时间<=5。
    6,里程>10,停车时间>5。
    第四步:编译运行,符合题意。
    <2>流程图:

    3,本题调试过程中遇到的问题和解决方法。
    错误截图:
    这题主要是四舍五入的问题没有注意,在结尾的printf运用了%d,导致了输出的结果全是0。经过这次的教训,知道了%.0f是四舍五入的意思。

    要求三:上传git截图和地址
    截图:


    地址:
    https://git.coding.net/WP2017024114/test.git

    4,总结学习内容
    1,本周学到了浮点型数据有单精度浮点型(float)和双精度浮点型(double),基本上学会了if else在现阶段的掌握,但是对于switch的语句还是不理解,对于语句断n+1;后加break的方式不知道怎么操作,希望老师可以给予我一些指点。
    2,对于符号常量写#define PRICE 数值 ,在结尾不加return 0;的这种结构,写出来编译运行后,我不知道可不可以自己输入数据,以下附上截图。

    截图中的300是自己弹出来的,我想问一下我可以不可在代码中改变什么东西,可以我自己输入一个数据,然后出结果。

    折线图和表格

    点评三个同学的博客
    第一位陈盈驰:http://www.cnblogs.com/1999-cyc/p/7735327.html
    第二位汪志恒:http://www.cnblogs.com/wangzhiheng/p/7739423.html
    第三位舒鹏:http://www.cnblogs.com/shupeng521/p/7732034.html

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/WeiPeng-wuban/p/7731933.html
Copyright © 2011-2022 走看看