要求一:完成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.进度
学习进度表及折线图
注意:时间的单位为分钟。