这个自我感觉有点坑的题目,
题目如下:
Description
设圆半径r,圆柱高h 求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。
Input
两个浮点数,r和h
Output
圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 保留两位小数,每个结果后换行。
Sample Input
1.5 3
Sample Output
C1=9.42 Sa=7.07 Sb=28.26 Va=14.13 Vb=21.19
HINT
PI 取 3.14
计算中所有数据均使用float类型 注意float常量的写法(3.14为 double 类型 3.14f 为float类型)
坑点:最后一个数据为21.19,这里按照常规输出都是21.20.所以需要经过处理一下
输出
Vb=(int)(rrhPI100)/100.0;
完整代码如下:
#include<stdio.h>
#define PI 3.14f
int main(){
float r,h,Vb;
scanf("%f%f",&r,&h);
printf("C1=%.2f\n",2*PI*r);
printf("Sa=%.2f\n",r*PI*r);
printf("Sb=%.2f\n",4*PI*r*r);
printf("Va=%.2f\n",4*PI*r*r*r/3);
printf("Vb=%.2f\n",(int)(r*r*h*PI*100)/100.0);
return 0;
}
accept了的同学别忘了点赞