第四周作业——郭

题目7-1 计算分段函数[1]

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

设计思路

Begin

          Input  x

     If    x≠0

          计算y=1.0/x

     Else

          计算y=0.0

          Printf  f(x)=y

end

 错误截图及改正

                     

错误:scanf("%.1f",&a)没有这种但可以写成这样scanf("%5f",&a)意义是输入的最大为五位数(包括小数点)

列如  输入12345时输出为12345  输入123.45时输出为123.4  输入为0.12345时输出为0.123

.  解决方法:百度                                                                                                     

题目7-2 A除以B

  • #include<stdio.h>
    int main()
    {
        float A,B;
        scanf("%f %f",&A,&B);
        if(A>=-100&&B==0)
        printf("%.0f/0=Error",A);
        else if(A>=-100&&B>0) 
        printf("%.0f/%.0f=%.2f",A,B,A/B);
        else
        printf("%.0f/(%.0f)=%.2f",A,B,A/B);
        return 0;
        
    }
    

伪代码及流程图

Begin

          Input A and B

     If  A≥-100 and B=0

          Printf  A÷0=error

     Else  if A≥-100 and B>0

          Printf A÷B=A/B

     Else

          Printf A÷(B)=A/B

End

错误:=为赋值运算符即将等号右边值赋予左边         ==表示判断左右两边是否相等

题目7-6 阶梯电价

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

伪代码及流程图

Begin

         Input a

    If 0<a≤50

         Printf cost=a×0.53

    Else if a>50

          Printf cost=(a-50)×0.58+26.5

    Else

          Printf Invalid Value!

End

错误:开始定义变量a为float类型但在输入时却用了%d

解决方法:自己解决

题目7-7 出租车计价

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

 伪代码及流程图

Begin

          Input a,b

     If a≤3 and b<5

     计算f=10

     Else if a≤3and b≥5

     计算f=10+b÷5×2+0.5

     Else if 3<a≤10 and b<5

     计算f=10+(a-3)×2

    Else if 3<a≤10 and b≥5

     计算 f=(a-3)×2+b÷5×2

    Else if a>10 and b<5

     计算 f=10+14+(a-10)×3

    Else

     计算 f=(a-10)×3+24+b÷5×2 +0.5

          Printf   f

End

错误纠正

错误点:输入的值12.5为浮点数但定义变量时定义为int型

错误后果:当输入12.5时只能输出其整数部分12   如当输入33.456时输出为33

改正方法:用float定义该变量

  Git账号地址:https://git.coding.net/guozhikang/www.git

Git上传代码成功截图

作业表格及折线图

点评3个同学的本周作业

张乐:http://www.cnblogs.com/1999-09-22/p/7745742.html

胡俊鲜:http://www.cnblogs.com/123456hjx/p/7726541.html

孙娜:http://www.cnblogs.com/sun-na-/p/7729818.html

本周总结知识点:

  • 1switch语句
  • 2字符变量char
  • 3强制转换   
  • 4逻辑运算符&&  ||  !    
  • 5复合运算6关系运算     
  • 7关系运算 <   >   ==    !=

易错点:

  • 1将关系符号==写成为=
  • 2定义类型前后不配套如前面用int定义但后面用%f输出
  • 3scanf语句中错用scanf("%.3 f",&a)错因见题目7-1错误及改正
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值