第四周作业

一,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

史泽文:http://www.cnblogs.com/shilcz/p/7732077.html

张国庆:http://www.cnblogs.com/zgq947/p/7746392.html

posted @ 2017-10-26 22:21  DavidPark  阅读(224)  评论(3编辑  收藏  举报