一、PTA实验作业
题目1:7-1 计算分段函数[2]
1.实验代码
double x, result;
scanf("%lf",&x);
if(x>=0)
result=sqrt(x);
else
result=pow(x+1,2)+2*x+1/x;
printf("f(%.2f) = %.2f\n",x,result);
2 设计思路
- 第一步:定义变量x,result。
- 第二步:如果x大于等于0,输出result=pow(x,0.5)。
- 第三步:否则,输出result=pow((x+1),2)+2*x+1/x。
- 第四步:输出result并保留两位小数。
3.本题调试过程碰到问题及解决办法
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&&a+c>b&&b+c>a){
s=(a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
perimeter = a+b+c;
printf("area = %.2f; perimeter = %.2f\n",area,perimeter);}
else
printf("These sides do not correspond to a valid triangle\n");
2 设计思路
- 第一步:定义变量a,b,c,双浮点型变量area,perimeter,s,其中a,b,c分别放边长,area放面积,perimeter放周长,s放(a+b+c)/2的值。
- 第二步:如果 a+b>c且a+c>b且b+c>a,则s=(a+b+c)/2.0,area=sqrt(s(s-a)(s-b)*(s-c)),perimeter=a+b+c。
- 第三步:输出面积area,周长perimeter,并且保留两位小数。
- 第四步:否则,输出These sides do not correspond to a valid triangle。
3.本题调试过程碰到问题及解决办法
- (1).面积公式错误,应该化成C语言表达式加上*。
- (2).答案错误,没有按照格式输入,在输出时空格。
4.本题PTA提交列表
题目3:7-6 出租车计价
1.实验代码
int minute;
double distance,fare;
scanf("%lf%d",&distance,&minute);
if(distance<=3)
fare=10+minute/5*2;
else if(3<distance&&distance<=10)
fare=10+(distance-3)*2+minute/5*2;
else
fare=24+(distance-10)*3+minute/5*2;
printf("%.0f",fare);
2 设计思路
- 第一步:定义变量,minute放等待时间,distance放行驶距离,fare放费用。
- 第二步:如果distance<=3,则fare=10+minute/5*2。
- 第三步:如果3<distance并且distance<=10,则fare=10+(distance-3)2+minute/52。
- 第四步:否则,fare=24+(distance-10)3+minute/52。
- 第五步:输出结果并保留整数且要四舍五入。
3.本题调试过程碰到问题及解决办法
- 没有理解题意,导致老是出错,之后和同学讨论真正理解题意。
- 结果不知道怎么四舍五入,应该输出时加上%.0f。
4.本题PTA提交列表
题目4:7-8 程序设计联考
1.实验代码
int account,number;
scanf("%d",&account);
number=account/100000;
switch(number){
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;
}
2 设计思路
- 第一步:定义变量,account放考生账号,number放考生账号的第一位数字。
- 第二步:number=account/100000。
- 第三步:如果值为1,则输出Hunan Agricultural University。
- 第四步:如果值为2,则输出Jishou University。
- 第五步:如果值为3,则输出Huaihua University。
- 第六步:如果值为4,则输出Aerospace University。
- 第七步:如果值为5,则输出Ocean University。
- 第八步:如果值为其他,则输出Other University。
3.本题调试过程碰到问题及解决办法
- 输入六位数不知道怎么去首位,应该用六位数除以十万。
- 不太熟悉switch语法,最后和舍友们交流才学会。
4.本题PTA提交列表
二、截图本周题目集的PTA最后排名
三、本周学习总结
1.你学会了什么?
- (1).学会了一点if else if级联的写法。
- (2).也学会了使用switch语法。
2.本周的内容,你还不会什么?
- 不太熟练PTA上面的题目,很多时候看错题意或者没注意输入输出格式。
3.你碰到什么困难,打算如何解决?