题目7-1 计算分段函数
#include <stdio.h>
int main(){
float x;
float y;
scanf("%f",&x);
if(x!=0)
y=1/x;
else
y=0;
printf("f(%.1f) = %.1f",x,y);
return 0;
}
第一步:构建架构框架
第二步:定义浮点数x,y
第三步:通过IF ELSE进行两种情况的运行
第四步:输出要求的结果
流程图:
问题:
①if与else之间没有加大括号,②输出结果中,只要求输出C,多输出了两个变量 加括号,删除AB两个变量
题目7-2 A除以B
#include <stdio.h>
int main(){
int A,B;
float C;
scanf("%d %d",&A,&B);
if (B>0){
C=A*1.0/B;
printf("%d/%d=%.2f",A,B,C);}
else if(B<0){
C=A*1.0/B;
printf("%d/(%d)=%.2f",A,B,C);}
else
printf("%d/%d=Error",A,B);
return 0;
}
第一步:定义整形A B 定义浮点型C
第二步:运用if else 分类和基本算法定义C的计算过程
第三步:通过浮点型保留两位小数或按题意输出结果
流程图:
问题:
输出的是一个式子而不是一个应该得到的结果 改正:将结果运用浮点数表示出来
题目7-6 阶梯电价
#include <stdio.h>
int main()
{
int a;
float b;
scanf("%d",&a);
if(a>=0&&a<=50){
b=0.53*a;
printf("cost = %.2f",b);}
else if(a>50){
b=0.58*(a-50)+50*0.53;
printf("cost = %.2f",b);}
else
printf("Invalid Value!");
return 0;
}
第一步:定义整形a浮点型b
第二步:通过if else 和基本运算法则输出不同分段下的b值
流程图:
问题:再提交PTA时结论正确 但是结果格式不对 导致提交错误答案
题目7-7 出租车计价
#include <stdio.h>
int main()
{
float a,c;
int b,d,e;
scanf("%f %d",&a,&b);
d=b/5;
if(a<=3)
c=10;
else if(a<=10)
c=10+(a-3)*2;
else
c=24+(a-10)*3;
e=c+d*2+0.5;
printf("%d",e);
return 0;
}
第一步:定义浮点型a c定义整形b d e
第二步:定义取出d运算方法
第三步:运用if elseif else进行三次分段
第四步:输出e的运算结果
流程图:
错误:再输入ab数值时 没有仔细区分整形和浮点型 导致提交错误
代码托管:https://coding.net/u/zxb0419/p/zuoye/git/tree/master/
点评:http://www.cnblogs.com/zt123/
http://www.cnblogs.com/boke2017boke/
http://www.cnblogs.com/blueblog6/p/7721746.html