根据收集到的数据,1010,1011是犯错比较多,卡题率较高的题目,也是浮点型中覆盖面较广的典型题,故开此文讲解一下本题。
1010:求圆的周长和面积
-
题目描述
输入圆的半径,求圆的周长和面积。 要求定义圆周率为如下宏常量
.#define PI 3.14159 -
输入
输入半径r的值,为一实数。 -
输出
输出一行,包括周长和面积。数据之间用一个空格隔开,数据保留小数后面两位。 -
参考代码:
#include<stdio.h>
#define PI 3.14159
int main()
{
double r;
double a,b;
scanf("%lf", &r);
a=2 * PI * r;
b=PI * r * r;
printf("%.2lf %.2lf\n", a,b);
return 0;
}
- 这里讲几个易错点,首先 可能比较多同学会在输入的时候用int作输入,这是明显错误的,题目的要求是实数输入,所以这里明显是要浮点型的输入。
- 可能有的同学会问了,为什么我用浮点型float输入了,它还是会答案错误呢?到底哪里出错了?这里要讲一个点,float是短浮点型,只能显示后7位小数。而题目里算面积时,因为需要用到 Πr²这一公式,而在这个过程中是很容易溢出的。
- 为了以后遇到溢出的情况,建议大家在定义浮点型时尽量使用double定义,避免溢出。double 对应的参数输入是%lf,注意不要搞错。
- 输出要求的空格需要注意,在两个%lf之间添加空格
- 保留两位小数形式是%.2d,%.2f,%.2lf 2表示保留小数后的位数,保留其他位的以此类推。
1011:圆柱体表面积
1011相比于1010只是公式上的改变而已,如果你对于上面那些概念还比较懵,不妨可以独立完成这道题巩固一下浮点型题目的各种概念。
-
题目描述
输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上。要求定义圆周率为如下宏常量
.#define PI 3.14159 -
输入
输入两个实数,为圆柱体的底面半径r和高h。 -
输出
输出一个实数,即圆柱体的表面积,保留2位小数。 -
参考代码:
#include<stdio.h>
#define PI 3.14159
int main()
{
double r, h;
scanf("%lf%lf", &r, &h);
printf("%.2f\n", 2 * PI * r * h + 2 * PI * r * r );
}
- 这题和上一题的各个要点基本相同,为了让大家学到不同的东西,在代码上做出了一些改变。对比上一题代码,在输出值的定义上作了省略,即 将上题中输出的答案在printf中完成,直接用式子代替了参数。
- 如果对这种方法适应不了的同学也可用上题的方法进行解题。
网友评论