第四周作业

要求一:完成PTA的题目

截图证明


要求二:4道题目

题目7-1 计算分段函数【1】

a.实验代码

#include <stdio.h>
int main()
{
  float a,b;
  scanf("%f",&a);
  if(a!=0)
  {
    b=1/a;
    printf("f(%.1f) = %.1f",a,b);
  }
  else
  printf("f(0.0) = 0.0");
  return 0;
}

b.设计思路

(1)描述算法
第一步:设置两个数a,b,为浮点数,其中a相当于函数里的x,b相当于函数里的y;
第二步:输入a;
第三步:写if语句,b=1/a的输出f(a) = b,否则输出f(0.0)=0.0;
第四步:结束。
注意:最后保留小数点后一位,%.1f,而不是%f
(2)流程图

c.本题调试过程碰到问题及解决办法

(1)错误截图

(2)问题及解决方法
编译没问题,但是答案错误,后经发现,不等于在if语句里是!=,而不是=!,改正后即可。

题目7-2 A除以B

a.实验代码

#include <stdio.h>
int main()
{
  int A,B;
  float C;
  scanf("%d %d",&A,&B);
   C=1.0f*A/B;
  if(B>0)
  {
  printf("%d/%d=%.2f",A,B,C);
}
  else if(B<0)
  {
    printf("%d/(%d)=%.2f",A,B,C);
}
  else
  {
    printf("%d/%d=Error",A,B); 
  }
  return 0;
}

b.设计思路

(1)描述算法
第一步:确立A、B为整型数,A除以B的得数C为浮点型数;
第二步:输入A、B;
第三步:写if语句,如果B>0,则输出A/B=C,如果B<0,则输出A/(B)=C,否则输出A/B=Error
第四步:结束。
注意:最后保留小数点后2位,%.2f,而不是%f
(2)流程图

c.本题调试过程碰到问题及解决办法

(1)错误截图

(2)问题及解决方法
经过检查,发现忘记加"&"符号了,加上就正确了。

题目7-6 阶梯电价

a.实验代码

#include <stdio.h>
int main()
{
  float a;
  scanf("%f",&a);
  if(a<=50&&a>0)
  {   
  printf("cost = %.2f",0.53*a);
}
  else if(a>50)
  {
    printf("cost = %.2f",26.5+(a-50)*0.58);
  }
  else
  {
    printf("Invalid Value!");
  }
  return 0;
  }

b.设计思路

(1)描述算法
第一步:设置某用户的月用电量a为浮点型;
第二步:输入a;
第三步:写if语句,如果a>0且a<=50,则输出花费的钱cost的值为0.53乘以a,如果a>50,则输出花费的钱cost的值为26.5+(a-50)*0.58,否则输出Invalid Value!
第四步:结束。
注意:小数点后保留两位,写%.2f;在if语句里&&表示“和“,输出格式要和题目保持一致,最好用的办法就是复制粘贴
(2)流程图

c.本题调试过程碰到问题及解决办法

本题未遇见任何问题

题目7-7 出租车计价

a.实验代码

#include <stdio.h>
int main()
{
  float a,d,e,f;
  int b,c;
  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;
}

b.设计思路

(1)描述算法
第一步:设置行驶里程a,3公里内所花的钱数d,10公里内所花的钱数e,总共花的钱数f为浮点型,等待时间b,每5min2元计时的个数c为整型;
第二步:输入a,b;
第三步:写if语句,如果a<=3,输出d的值,如果a>3且a<=10,输出e的值,否则输出f的值;
第四步:结束。
注意:此题要四舍五入,即在输出的时候写上%.0f
另外,本题对我来说最大的难点是读懂题目。题目翻译一下,计价是在3公里内(包括三公里)都收10元,超出3公里以后,超出3公里,小于10公里的部分每公里加2元,大于10公里的部分每公里加3元,并且要看此人乘车用了多长时间,每5min收2元,不足5min的不收钱,比如乘车用了9min,那么就收2元,因为9min=5min+4min,4min不足5min,则只收2元。
(2)流程图

c.本题调试过程碰到问题及解决办法

(1)错误截图

(2)问题及解决方法
本题无技术上的失误,就是最开始没读懂题目,在想不足5min不收钱该怎么编,后来一下想到时间除以5得到的数设为整型,如果不足5min就是0了,就做出来了

要求三:上传代码

(1)我的Git地址:https://git.coding.net/jsjyuyaosong/usth--work.c.git
(2)上传代码截图:



要求四:总结、点评及进度

1.总结

总的来说,这周我过的还算充实。主要就是完成PTA的作业,学习了if语句。
(1)我知道了要想用C语言描述根号,要在开始注明有math,在后写sqrt(),就可以了;
(2)我还学到了在平时计算的时候,float句型要写上.0f,而不是.0,写.0电脑就会用double型来处理,而不是float型;
(3)还有就是四舍五入就是在输出的时候想取几位小数点就取几位,这样会自动四舍五入的;
(4)再有就是在scanf中&真的总忘写,以后一定会多多注意这件事!

2.点评

点评同学的博客地址:
徐铭博:http://www.cnblogs.com/xmb1547828350/p/7719018.html
丰大为:http://www.cnblogs.com/DavidPark/p/7707156.html
刘炜旗:http://www.cnblogs.com/ryo-/p/7731894.html

3.进度

学习进度表及折线图

注意:时间的单位为分钟。

截止至目前:

学习进度表

折线图

预期学习进度表

预期折线图

posted @ 2017-10-23 00:32  于耀淞  阅读(532)  评论(25编辑  收藏  举报