第四周作业

一、
题目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"时经常忘记用“==”,结尾的输出浮点数经常忘记限制保留小数位数,
解决办法:需要继续练习编写代码和记住结构
五、学习表格与折线图
学习表格:
折线图:

posted on 2017-10-26 23:50  CJ丶Madlife  阅读(254)  评论(19编辑  收藏  举报