设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输人数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序
时间: 2025-02-22 10:32:55 浏览: 62
在C语言中,我们可以编写如下的程序来完成这个任务。首先,我们需要包含必要的头文件,并使用`scanf`函数获取用户输入的数据,然后分别计算圆周长、圆面积、圆球表面积、圆球体积以及圆柱体积。由于涉及到数学公式,这里我们假设圆球的直径等于圆的直径。
```c
#include <stdio.h>
#include <math.h> // 包含数学库以便使用 pow 和 M_PI
double calculate_circle_area(double r) {
return M_PI * pow(r, 2); // 圆的面积 = π * r^2
}
double calculate_circle_circumference(double r) {
return 2 * M_PI * r; // 圆的周长 = 2πr
}
double calculate_sphere_surface_area(double r) {
return 4 * M_PI * pow(r, 2); // 球的表面积 = 4πr^2
}
double calculate_sphere_volume(double r) {
double diameter = 2 * r;
return (4.0 / 3.0) * M_PI * pow(diameter, 3); // 球的体积 = (4/3)πr^3
}
double calculate_cylinder_volume(double r, double h) {
return M_PI * pow(r, 2) * h; // 圆柱体的体积 = πr^2h
}
int main() {
float radius, height;
printf("请输入圆的半径(单位:米),并按回车键:");
scanf("%f", &radius);
printf("请输入圆柱的高度(单位:米),并按回车键:");
scanf("%f", &height);
// 计算各项值,保留两位小数
double circle_area = round(calculate_circle_area(radius) * 100) / 100.0;
double circle_circumference = round(calculate_circle_circumference(radius) * 100) / 100.0;
double sphere_surface_area = round(calculate_sphere_surface_area(radius) * 100) / 100.0;
double sphere_volume = round(calculate_sphere_volume(radius) * 100) / 100.0;
double cylinder_volume = round(calculate_cylinder_volume(radius, height) * 100) / 100.0;
printf("\n圆的面积为 %.2f 平方米\n", circle_area);
printf("圆的周长为 %.2f 米\n", circle_circumference);
printf("球的表面积为 %.2f 平方米\n", sphere_surface_area);
printf("球的体积为 %.2f 立方米\n", sphere_volume);
printf("圆柱体的体积为 %.2f 立方米\n", cylinder_volume);
return 0;
}
```
请注意,上述程序中的 `round` 函数用于四舍五入到最接近的整数,如果需要保留两位小数,可以根据实际需求调整。此外,`M_PI` 是 C 语言标准库中的常量,表示圆周率 π。
阅读全文
相关推荐

















