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