第四周作业

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

posted @ 2017-10-26 22:39  天才!  阅读(189)  评论(7编辑  收藏  举报