第四周作业

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输出f(x)=y   

  流程图:

错误:

错误:输出时定义错误,应将%.1f定义成x即可,当时没理解赋值的意义,后修改多遍发现这样正确

7-2

#include<stdio.h>
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;
}

  第一步:打好框架

        第二步:按题目要求分类,再从符合题目要求的范围中进行分类讨论 

        第三步 :列举不同情况 

流程图:

错误:

错误原因:第十行后没加分号,经错误提示后解决

d7-6

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

 第一步:打好框架

    第二步:分类讨论不同情况,用数学思想解决问题

流程图:

错误;

错误原因:最后一步多加个if。改正:else if后给加条件,而最后一步若写成else则不需加条件

7-7

#include <stdio.h>
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;
}

   第一步:打好框架

      第二步:注意多种情况分类讨论,输入AC

     第三步:讨论方式较多,分类后输出B即可

错误:

此题细心讨论各种情况即可,经历前六道题的坎坷,并没有遇到语句上的问题。

 

https://coding.net/u/asdfg145632/p/a4/git

本周学习if,else语句,了解并运用了多种语句的作用,使思维更加活跃,灵活,与数学结合起来,使打代码更有趣味性

遇到问题:主要还是细节方面的问题,else及else if认识不深刻,打代码还不够熟练,发现并解决问题的能力也有待加强

解决办法:经错误提示仔细检查,发现并解决了问题,目前仍需努力练习。

图:

链接;http://www.cnblogs.com/gzk08-20/p/7709327.html

http://www.cnblogs.com/mayuxin/p/7735130.html

http://www.cnblogs.com/wangzhiheng/p/7739423.html

posted @ 2017-10-28 10:58  关晟强  阅读(128)  评论(2编辑  收藏  举报