解题思路:
QQ截图20171015111216.jpg

注意事项:
一定要注意,用户输出的不一定是整数,有可能是小数,所以w和h要用double型,

如果用int型提交了之后会是答案错误。

参考代码:

#include <stdio.h>
#define PI 3.141592653589793238

int main()
{
    double w, h, r, result1, result2;
    while(scanf("%lf%lf", &w, &h) == 2 && w != 0)
    {
        r = w / (2 * PI);//第一种情况
        result1 = PI * r * r * (h - 2 * r);
        r = h / (2 * PI + 2);
        r = r * 2 > w ? w / 2 : r;//第二种情况
        result2 = PI * r * r * w;
        printf("%.3f\n", result1>result2 ? result1:result2);
    }//输出两种情况算出来的最大者即可
    return 0;
}


点赞(8)
 

0.0分

18 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 22 条评论

wind 11月前 回复TA
穷举咋咋整咋不对呢.
琴海 2年前 回复TA
@醒醒别睡了 ding
yanxsec 2年前 回复TA
@随意凯 题目说了最大可能的圆柱体积,所以就应该以 H-2r可接受的范围内进行求解
自律给我自由 3年前 回复TA
@醒醒别睡了 对啊,英语看不懂怎么办啊
花露水和暖壶 3年前 回复TA
@醒醒别睡了 十分同意!
醒醒别睡了 4年前 回复TA
原题描述跟特么shi一样,这是考阅读理解呢?
blankliu 4年前 回复TA
一定要注意精确度,这个题就大坑,多精确少精确都过不了
随意凯 4年前 回复TA
第一种情况如果r取w/2,凭什么就断定H-2r就一定大于等于2*pi*r??????
光仔 4年前 回复TA
@低调 我也是  后来把PI精确到他的那样就可以了。。。。。
supreme 4年前 回复TA
@斯宾塞 读入的两个数就返回2