一、PTA实验作业
题目1:计算分段函数[2]
本题目要求计算下列分段函数f(x)的值:
1.实验代码
int main (void)
{
double x,y;
scanf("%lf",&x);
if (x>=0){
y=sqrt(x);
}
else if (x<0){
y=pow(x+1,2)+2*x+pow(x,-1);
}
printf ("f(%.2f) = %.2f\n",x,y);
2 设计思路
- 1.定义x,y两个浮点型变量;
- 2.输入x;
- 3.x>=0,则按y=x^0.5输出
- 4.x<0,按照y=(x+1)^2+2x+1/x输出
3.本题调试过程碰到问题及解决办法
问题:sqrt函数,pow函数调用格式错误。
解决:翻书找格式,并熟记。
4.本题PTA提交列表
题目2:7-4 输出三角形面积和周长
1.实验代码
int a,b,c;
double s,area,perimeter;
scanf("%d%d%d",&a,&b,&c);
if (a+b>c&&b+c>a&&a+c>b){
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=2*s;
printf("area = %.2f; perimeter = %.2f",area,perimeter);
}
else{
printf("These sides do not correspond to a valid triangle");
2 设计思路
- 1.定义变量a,b,c,s,area,perimeter
- 2.s=(a+b+c)/2.0;
area=sqrt(s(s-a)(s-b)(s-c));
perimeter=2s; - 3.如果三角形存在则按照上公式输出,否则输出These sides do not correspond to a valid triangle
3.本题调试过程碰到问题及解决办法
问题:由于 s=(a+b+c)/2.0;一开始写的除以2得不到小数,
解决:从devc上运行,并重新检查,改正
4.本题PTA提交列表
题目3:7-6 出租车计价
1.实验代码
int t;
double km,money;
scanf("%lf %d",&km,&t);
if(km<=3){
money=10+t/5*2;
}
else if(km>3&&km<=10){
money=10+(km-3)*2+t/5*2;
}
else if(km>10){
money=24+(km-10)*3+t/5*2;
}
printf("%.0f",money);
2 设计思路
- 1.输入时间t,公里km,钱,money
- 2.当公里小于等于3,按照 money=10+t/5*2输出
- 3.当公里大于3且小于10,按照 money=10+(km-3)2+t/52输出
- 4.当公里大于10按照 money=24+(km-10)3+t/52;输出
3.本题调试过程碰到问题及解决办法
问题:1.没有考虑进去t,以至公式写的不对
2结果保留的输出控制符不合题目要求
3变量定义的不合题目要求
解决:从题目中找到t的信息,重新写计算公式,在devc运行得不到结果,重新更改啦输出控制符,定义出符合题目的变量型
4.本题PTA提交列表
题目4:7-8 程序设计联考
1.实验代码
int account;
scanf("%d",&account);
if(account/100000==1){
printf("Hunan Agricultural University");
}
else if(account/100000==2){
printf("Jishou University");
}
else if(account/100000==3){
printf("Huaihua University");
}
else if(account/100000==4){
printf("Aerospace University");
}
else if(account/100000==5){
printf("Ocean University");
}
else if(account/100000!=1&&2&&3&&4&&5){
printf("Other University");
}
2 设计思路
- 1.输入编号,将编号除以100000得到首位数
- 2.分别对应输出1~5所对应的大学
- 3.若结果不是1~5的数字则输出Other University
3.本题调试过程碰到问题及解决办法
问题:输入的控制字符没写,最后一条别的学校没输
解决:devc上发现scanf("%d",&account)错误,重新审题发现作答不完整
4.本题PTA提交列表
二、截图本周题目集的PTA最后排名。
三、本周学习总结
1.你学会了什么?
学会了if else的分支语句,更加熟练了对不同类型数据的定义区别,分析问题的能力得以提升,了解到多种分支结构语句,以及不同的适用范围。逻辑运算符以及了解了ASCII码
2.本周的内容,你还不会什么?
对于switch语句的运用还不熟练,复杂的分支结构尚不能熟练完成,对于小数点后保留的问题尚有疑惑,sqrt函数,pow函数调用格式
3.你碰到什么困难,打算如何解决?
困难:复杂的分支结构尚不能熟练完成,对于小数点后保留的问题尚有疑惑,sqrt函数,pow函数调用格式。
解决:先回顾课本内容,从基本的知识上加以巩固,之后再找一些复杂的分支结构的题目加以练习巩固,对于小数点后的保留问题,同样从课本上找例子来加以理解,sqrt函数,pow函数调用格式从课本上找到相应的知识加以熟记。