C语言第二次博客作业---分支结构

题目1:计算分段函数

1.实验代码

{
	double y,x;
	scanf("%lf",&x);
	if(x>=0){
		y=pow(x,0.5);
	}
	else{
		y = pow(x+1,2) + 2*x + 1/x;
	}

2 设计思路

  • 定义浮点型变量x与y
  • 输入x的值
  • 若x>0则y=pow(x,0.5),否则 y = pow(x+1,2) + 2*x + 1/x
  • 输出y

3.本题调试过程碰到问题及解决办法

  • 本题调试过程中没有问题

4.本题PTA提交列表

题目2: 输出三角形面积和周长

1.实验代码

{
	int a,b,c;
	double s,arer,perimeter;
	scanf("%d%d%d",&a,&b,&c);
	s=(a+b+c)/2.0;
	arer=sqrt(s*(s-a)*(s-b)*(s-c));
	perimeter=a+b+c;
	if(a+b>c&&a+c>b&&b+c>a){
		printf("area = %.2f; perimeter = %.2f\n",arer ,perimeter);
    }
	else{
	printf("These sides do not correspond to a valid triangle");
    }
	return 0;
}

2 设计思路

  • 定义整型变量三角形的3条边a、b、c和浮点型变量面积area 周长 perimeter 与s //s=a+b+c/2.0
  • 输入a,b,c的值
  • 若a+b>c&&b+c>a,则area=pow(​s(s−a)(s−b)(s−c),0.5),perimeter=a+b+c,输出结果;否则输出These sides do not correspond to a valid triangle

3.本题调试过程碰到问题及解决办法

  • 判断三角形是否能成立时,采用a+b>c//a+c>b。
  • 经过调试发现无论a,b,c三个值怎么样,都可以输出结果,认真看一下代码,才发现应该把//改成&&。

​##4.本题PTA提交列表

题目3:出租车计价

1.实验代码

{
	int t;
	double s,a,b,sum;
	scanf("%lf%d",&s,&t);
	if(s<=3){
		a=10;
    }
	else if(s<=10){
	a=10+2*(s-3);
    }
    else{
	a=24.0+3.0*(s-10);
	}
    if(t<5){
    b=0;
	}
	else{
		b=t/5*2;
	}
	sum=a+b;
	printf("%.0f",sum);
	return 0;
}

2 设计思路

  • 定义整型变量路程s,时间t,a,b,sum //a为公里的费用,b为等待时间的费用
  • 输入时间和路程
  • 若起步里程为3公里,则a=10;若超起步里程后10公里内,a=10+2(s-3);若超过10公里则 a=24.0+3.0(s-10)。若等待时间<=5则b=0,否则b=0.4*t
  • sum =a+b
  • 输出结果

3.本题调试过程碰到问题及解决办法

  • 在输入12.5 与9时输出结果为35,与答案不一样
  • 经过调试在发现a的结果老是为整数与定义类型不一样,经过翻查课本才理解整数/整数=整数这句话。
    ​##4.本题PTA提交列表

题目4:程序设计联考

1.实验代码

{
	int first,n;
	scanf("%d",&n);
	first=n/100000;
	switch(first){
		case 1:
			printf("Hunan Agricultural University");
			break;
		case 2:
		  printf("Jishou University");
		  break;
		case 3:   
		  printf("Huaihua University");
			break; 
		case 4:
		 	printf("Aerospace University");
		 	break;
	  case 5:
		  printf("Ocean University");
			break;  
	  default:
		  printf("Other University");
			break; 	
	}
	return 0;
}

2 设计思路

  • 定义两个整型变量first ,n //first表示第一个数字
  • 输出数字n
  • 若 1则输出Hunan Agricultural University,2输出Jishou University,3输出Huaihua University,4输出Aerospace University,5输出Ocean University,若不清楚学校代号是哪个学校,则输出"OtherUniversity"。

3.本题调试过程碰到问题及解决办法

  • 本题在调试时没有发现明显错误,经过一番思考,觉的是结果错误,所以直接将题目中的结果复制黏贴到代码中,结果就正确了。

4.本题PTA提交列表

二、截图本周题目集的PTA最后排名。

三、本周学习总结

1.你学会了什么?

  • 我学会了if-else语句和switch语句
  • 学会了如何求余数的方法

2.本周的内容,你还不会什么?

  • 基本已经会了,但是对于if-else语句中的加括号与不加括号不是很理解。

3.你碰到什么困难,打算如何解决?

  • 有时候pta显示部分正确,我一般都会尝试自己在Dev上调试,自己解决,实在解决不了在请教室友。

​​

posted @ 2017-10-24 12:47  君甚秀  阅读(184)  评论(6编辑  收藏  举报