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上调试,自己解决,实在解决不了在请教室友。