第四周作业——郭

时间:2022-12-05 22:17:14

题目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    x0

          计算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 0a50

         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 ab

     If a3 and b<5

     计算f=10

     Else if a3and b5

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

     Else if 3a10 and b5

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

    Else if 3a10 and b5

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

    Else if a10 and b5

     计算 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错误及改正