郑州轻工业大学oj题解(c语言)1010 1011 浮点型典型题

根据收集到的数据,1010,1011是犯错比较多,卡题率较高的题目,也是浮点型中覆盖面较广的典型题,故开此文讲解一下本题。

1010:求圆的周长和面积

  • 题目描述
    输入圆的半径,求圆的周长和面积。 要求定义圆周率为如下宏常量
    .#define PI 3.14159

  • 输入
    输入半径r的值,为一实数。

  • 输出
    输出一行,包括周长和面积。数据之间用一个空格隔开,数据保留小数后面两位。

  • 参考代码:

#include
#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
#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中完成,直接用式子代替了参数。
  • 如果对这种方法适应不了的同学也可用上题的方法进行解题。

你可能感兴趣的:(郑州轻工业大学oj题解(c语言)1010 1011 浮点型典型题)