美文网首页C语言
郑州轻工业大学oj题解(c语言)1010 1011 浮点型典型题

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

作者: 缘点点 | 来源:发表于2019-11-27 11:26 被阅读0次

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/nrauwctx.html