题目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错误及改正