第四周作业
Posted DavidPark
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四周作业相关的知识,希望对你有一定的参考价值。
一,pta
1.7-1
#include<stdio.h>
int main()
{
float a,b;
scanf("%f",&a);
if(a==0){
printf("f(0.0) = 0.0");
}else{
b=1.0f/a;
printf("f(%.1f) = %.1f",a,b);
}
}
设计思路
第一步:因为有除法,所以选择了float型输入x值(a),结果(b);
第二部:因为是个分段函数,选择用if语句,先是判断a是否等于0,如果是就直接输出f(0.0) = 0.0就OK,否则进入else,并且算出结果并输出。
遇到问题
在输出框中不知道如何输出()以为像"/"一样要用两个//,不过发现不用。
运行结果
2.7-2
实验代码
#include<stdio.h> int main() { //int a,b; float c,a,b; scanf("%f %f",&a,&b); if(b==0){ printf("%.0f/%.0f=Error",a,b); }else if(b<0){ c=a/b; printf("%.0f/(%.0f)=%.2f",a,b,c); }else{ c=a/b; printf("%.0f/%.0f=%.2f",a,b,c); } }
设计思路
第一步:因为要做除法,选择了float型输入,并且按要求输入除数和被除数a,b。
第二步:因为要判断分母是否为零和其正负,所以选择在一个if语句中再套一个语句。
第三步:if判断如果分母等于0输出error;再如果分母小于0要在分母加();最后就是分母大于0正常输出就OK。
遇到问题
最开始除数和被除数用的int。不过发现题目要求不期待用int型。
运行结果
3.7-6
实验代码
#include<stdio.h> int main() { float a,b; scanf("%f",&a); if(a>50){ b=50*0.53+(a-50)*0.58; printf("cost = %.2f",b); }else if(a<0){ printf("Invalid Value!"); }else{ b=a*0.53; printf("cost = %.2f",b); } }
设计思路
第一步:因为电价存在小数点,并且要相乘,所以选择float型,并且输入用电量。
第二步:判断用电量在那个范围内,同上题一样,只是计算上稍微麻烦一些。
遇到问题
这题只要全部用float型,最后结果保留小数就差不多了。
运行结果
4.7-7
实验代码
#include<stdio.h> int main() { float a,c,d; int b; scanf("%f %d",&a,&b); if(a<=3){ c=10; }else if(a<=10){ c=10+(a-3)*2; }else{ c=10+7*2+(a-10)*3; } d=(b/5)*2+0.5+c; printf("%d",(int)d); }
设计思路
第一步:这题要算路程钱和等时两部分钱最后相加。因为车程含小数所以车程,路程钱,总车费用float型输入。等时为整数所以用了int型。输入车程和等时。
第二步:判断路程并算出路程的钱(同前两题相似)。
第三步:算出等时的钱加上路程钱再加上0.5可以保证转化成int型可用来四舍五入。最后输出转换成int型输出。
遇到问题
这题比较纠结人的就是要四舍五入,可以在输出框把float型改为int型并且加0.5就OK。
运行结果
二.git
https://git.coding.net/DavidPark/123.git
提交列表
三.学习进度条
·时间 |
代码行数 |
时间(min) |
博客字数 |
博客时间min |
知识点 |
10.21 |
200 |
120 |
0 |
0 |
pta |
10.22 |
210 |
90 |
100 |
60 |
pta |
10.23 |
210 |
90 |
100 |
30 |
if else |
10.24 |
120 |
80 |
50 |
10 |
运算符的判断 |
10.25 |
150 |
70 |
50 |
10 |
Git |
10.26 |
150 |
60 |
50 |
10 |
pow,sqrt |
10.27 |
100 |
50 |
50 |
10 |
switch语句 |
10.28 |
100 |
50 |
50 |
10 |
switch语句 |
四.总结和互评
总结
每周的pta最开始都会让自己感到头疼,需要自己查询各种资料,本周也不例外,本周pta中三角形的判断有点难,其中double的输入一直都没有想到,还有=、==总是弄混,&&,||也比较难区分。并且经过了这一周对if语句的熟练度提高。
互评
于耀松: http://www.cnblogs.com/jsjyys/p/7709233.html
以上是关于第四周作业的主要内容,如果未能解决你的问题,请参考以下文章