• 第四周作业


    一、
    题目7-1 计算分段函数[1]
    1、实验代码

    int main()
    {
    	float x=0,result=0;
    	scanf("%f",&x);
    	if(x==0)result=0;
    	else result=1.0/x;
    	printf("f(%.1f) = %.1f",x,result);
    	return 0;
    }
    

    2、(1)设计思路:第一步:判断应用浮点数,定义两个浮点数x,y,其中y= result;
    第二步:输入x;
    第三步:运用if else型函数,判断x是否等于0,等于0输出y=0.0,;不等于0输出y=1/x。
    3、流程图:
    4、本题中出现的问题:
    (1)问题:1、直接定义“y=f(x)”,没有按照题目所要求的输出按“f(x) = result”的格式输出
    2、定义x为浮点数,“scanf”中将应该输入“%f”打成“%d”
    (2)解决:1、将”f(x)”改成题目要求的输出格式“f(x) = result”
    2、将“%d”改成“%f” (这个错误出现了很多次)
    截图:

    题目7-2 A除以B
    1、实验代码

    int main()
    {
            int A=0,B=0;
            float C=0;
            scanf("%d %d",&A,&B);
    	if(-100>A||A>100||-100>B||B>100)printf("the input is error");
    	else if(0<B){C=(float)A/B;
    	printf("%d/%d=%.2f",A,B,C);}
    	else if(B==0)printf("%d/%d=Error",A,B);
    	else {C=(float)A/B;
    	printf("%d/(%d)=%.2f",A,B,C);}
    	return 0;
    }
    

    2、(1)设计思路:第一步:判断是浮点数形式,定义两个整数A,B和一个浮点数C;
    第二步:输入A,B;
    第三步:运用if else型函数,判断A,B的正负,确定浮点数C的值,如果B是正数,则输出“C=A/B”;如果B是负数,则输出"C=A/(B)";如果B为零,则输出的C应为Error。C保留小数点后2位。
    3、流程图:
    4、本题出现的问题:
    (1)问题:else if 后面的“B=0”少打了一个“=”
    (2)解决:加上一个“=”
    截图:

    题目7-6 阶梯电价
    1、实验代码

    int main()
    {
      float A,B;
      scanf("%f",&A);
      if(A<=50&&A>0){
      B=A*0.53; 
      printf("cost = %.2f",B);}
      else if(A>50){
      B=(A-50)*(0.53+0.05)+50*0.53;
      printf("cost = %.2f",B);}
      else
      printf("Invalid Value!");
      return 0;
    }
    

    2、(1)设计思路:第一步:判断运用浮点数,定义两个浮点数A,B,A为用电数,B为电费;
    第二步:输入A;
    第三步:运用if else型函数,判断A的取值范围,如果0<A<=50,输出B=A0.53,如果A>50,输出B=(A-50)(0.53+0.05)+50*0.53,如果A=0,输出Invalid Value!,其中B保留两位小数。
    3、流程图:

    4、本题出现的问题:
    (1)问题:限制A的范围使用的不规范,输出的"cost = %.2f"再DVC++中没有出现问题,提交PTA时出现了错误
    (2)解决:将“0<A<=50”改为“A<=50&&A>0”,输出的“cost=%.2f”改为“cost = %.2f”。
    截图:

    题目7-7 出租车计价
    1、实验代码

    int main()
    {
      int C;
      float A,B;
      scanf("%f %d",&A,&C);
      if(A<=3&&C<5)
      B=10;
      else if(A<=3&&C>=5)
      B=10+C/5*2;
      else if(A>3&&A<=10&&C<5)
      B=(A-3)*2+10;
      else if(A>3&&A<=10&&C>=5)
      B=(A-3)*2+10+C/5*2;
      else if(A>10&&C<5)
      B=24+(A-10)*3;
      else if(A>10&&C>=5)
      B=24+(A-10)*3+C/5*2;
      printf("%.0f",B);
      return 0;
    }
    

    2、(1)设计思路:第一步:主要运用浮点型,定义一个整数C,两个浮点数A,B,A是公里数,C是乘车时间,B是乘车费用;
    第二步:输入A,C;
    第三步:运用if else型函数,判断乘车公里数A与乘车时间C,分别输出B=10,B=10+C/52,B=(A-3)2+10+C/52,B=24+(A-10)3,B=24+(A-10)3+C/52。
    3、流程图:
    4、本题出现的问题:
    (1)问题:当输入A,B区间在(A>10,C>=5),输出的B是四舍五入的数值,但是不是整数形式。
    (2)解决:忘记在输出的B的printf中限制输出的位数,即printf(“%.0f”,B)限制输出的位数
    截图:

    二、上传成功后coding.net项目截图和git地址,PTA提交列表截图:
    https://coding.net/u/c289716425/p/123/git

    三、点名评论的同学博客链接
    (1)http://www.cnblogs.com/liuzehua123/p/7732027.html
    (2)http://www.cnblogs.com/mayuxin/p/7735130.html
    (3)http://www.cnblogs.com/hezongyan/p/7726382.html
    四、本周所学内容、遇到的问题以及解决方法:
    本周学习了define和一些新的符号如:++,--,
    遇到的问题:经常忘记输入scanf括号里的&,在表示"x=x"时经常忘记用“==”,结尾的输出浮点数经常忘记限制保留小数位数,
    解决办法:需要继续练习编写代码和记住结构
    五、学习表格与折线图
    学习表格:
    折线图:

  • 相关阅读:
    Hive2.0函数大全(中文版)
    Centos7 安装并配置redis
    Java内部类
    beeline: 新版连接Hive server的工具
    jsoup的Document类
    Jsoup类
    jsoup的Node类
    jsoup的Element类
    Java中的多线程
    Java中的文件IO流
  • 原文地址:https://www.cnblogs.com/1999-cyc/p/7735327.html
Copyright © 2020-2023  润新知