第四周作业
一.(1)7-1 计算分段函数[1]
#include <stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a==0)
{
printf("f(%.1f) = %.1f",a,0);
}
else
{
printf("f(%.1f) = %.1f",a,1/a*1.0);
}
}
(2)算法:第一步设a为双精度浮点数
第二步输入a
第三步分a等于零或不等于零分别输出
(3)
(4)未遇到调试问题
二(1)题目7-2 A除以B
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
float c;
if(b==0)
{
printf("%d/%d=Error",a,b);
}
else
{
if(b<0)
{c=1.0f*a/b;
printf("%d/(%d)=%.2f",a,b,c);}
else
{c=1.0f*a/b;
printf("%d/%d=%.2f",a,b,c);}
}
}
(2)算法:第一步定义a,b。
第二步输入a
第三步现根据b等不等于零进行输出,再根据b大于零和小于零输出。
(3)
(4)
忘记在a/b时乘以一个浮点数,导致直接结果按整数处理。
三(1)题目7-6 阶梯电价
#include <stdio.h>
int main()
{
float a;
scanf("%f",&a);
if(a<0)
{
printf("Invalid Value!");
}
else
{
if(a<=50)
{printf("cost = %.2f",a*0.53*1.0);}
else
{printf("cost = %.2f",((1.0*0.53*50)+(a-50)*0.58*1.0));}
}
}
(2)算法:第一步定义a为浮点数
第二步输入a,根据电费是否大于零进行下一步
第三步计算是否超出进行输出
(3)
(4)无调试问题
四(1)题目7-7 出租车计价
#include <stdio.h>
int main()
{
float a,d,e,f;
int c,b;
scanf("%f %d",&a,&b);
c=b/5;
d=10+c*2;
e=10+2*(a-3)*1.0f+c*2;
f=24+(a-10)*3*1.0f+c*2;
if(a<=3)
{
printf("%.0f",d);
}
else if(a>3&&a<=10)
{
printf("%.0f",e);
}
else
{
printf("%.0f",f);
}
return 0;
}
(2)第一步定义要输入的数
第二步根据所给数据进行赋值
第三步根据所给条件分别输出
(3)
(4)
我把且(&&)打成或(||)了
总结:本周我们学习了if语句,运算关系和一些运算符,这些对于我们来说不是特别的难,但是如果没有更多的练习的话,在做题的时候也会犯很多的小错误,我们对于一些细节要重视起来,这样才能更高的减少错误的概率。