点击打开题目链接
Edward the confectioner is making a new batch of chocolate covered candy.Each candy center is shaped as a cylinder with radius r mm and height h mm.
The candy center needs to be covered with a uniform coat of chocolate.The uniform coat of chocolate is d mm thick.
You are asked to calcualte the volume and the surface of the chocolate covered candy.
Input
There are multiple test cases.The first line of input contains an integer T(1≤ T≤ 1000) indicating the number of test cases.For each test case:
There are three integers r, h, d in one line.(1≤ r, h, d ≤ 100)
Output
For each case, print the volume and surface area of the candy in one line.The relative error should be less than 10-8.
Sample Input
2 1 1 1 1 3 5
Sample Output
32.907950527415 51.155135338077 1141.046818749128 532.235830206285 积分:设s为圆边的表面积v为其体积 最终表面积:S=2*s+2*pi*r^2+2*pi*(d+r)*h; 最终体积:V=2*v+pi*(r+d)^2*h; 代码:#include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <stack> #include <queue> #include <set> #include <map> #define max(a,b) (a)>(b)?(a):(b) #define min(a,b) (a)>(b)?(b):(a) #define eps 1e-5 #define inf 0x3f3f3f3f #define pi acos(-1) using namespace std; int main() { int t; while(~scanf("%d",&t)) { int r,h,d; while(t--) { scanf("%d%d%d",&r,&h,&d); double v=(pi*pi*d*d*r/2.0+2/3.0*pi*d*d*d+pi*d*r*r)*2+pi*(r+d)*(r+d)*h; double s=(2*pi*d*d+pi*pi*d*r+pi*r*r)*2+2*pi*(r+d)*h; printf("%.12f %.12f\n",v,s); } } return 0; }