采用宏定义,将PI设置为3.14。然后,设计一子函数Circle(float r),计算圆的面积并返回计算结果。主函数中接收键盘输入的半径r,并调用子函数计算面积,打印输出结果。
时间: 2024-09-20 19:12:00 浏览: 11
在C语言编程中,可以使用预处理器宏定义常量PI来简化代码。首先,我们定义一个名为`PI`的宏,将其值设为3.14:
```c
#define PI 3.14
```
接下来,我们可以创建一个名为`calculate_circle_area`的子函数,它接受一个浮点数类型的半径`r`作为参数,计算圆的面积并返回结果。公式是 `pi * r * r`。
```c
float calculate_circle_area(float r) {
return PI * r * r;
}
```
在主函数`main()`中,我们从用户处获取半径值,然后调用这个子函数计算面积,并将结果打印出来:
```c
int main() {
float radius;
printf("请输入圆的半径: ");
scanf("%f", &radius);
// 调用子函数计算圆的面积
float area = calculate_circle_area(radius);
printf("圆的面积是: %f\n", area);
return 0;
}
```
当运行程序时,会提示用户输入半径,然后根据输入值计算并显示圆的面积。
相关问题
定义常量PI等于3.14, 计算给定半径的圆面积,将计算结果分别赋值给一个double类型和int类型的变量,掌握C中的数据类型转换,并将各个计算结果在屏幕上输出。
以下是代码实现:
```c
#include <stdio.h>
#define PI 3.14
int main() {
double radius = 5.0;
double area_double = PI * radius * radius;
int area_int = (int) (PI * radius * radius);
printf("圆的面积(double类型)为:%.2f\n", area_double);
printf("圆的面积(int类型)为:%d\n", area_int);
return 0;
}
```
运行结果如下:
```
圆的面积(double类型)为:78.50
圆的面积(int类型)为:78
```
在上述代码中,我们使用 `#define` 宏定义方式定义了常量 `PI`,然后根据给定的半径计算圆的面积并分别赋值给 `double` 类型和 `int` 类型的变量。注意,在将计算结果赋值给 `int` 类型变量时,我们使用了数据类型转换符 `(int)`,将 `double` 类型的计算结果强制转换成了 `int` 类型。最后,在输出时使用格式控制字符 `%f` 和 `%d` 分别输出 `double` 类型和 `int` 类型的计算结果。
2、 程序填空(共10分,每空2分) 设计一个圆Circle类,求圆的面积。Circle有1个私有成员数据m_r,3个公有成员函数setR、getR、 getArea。请补全程序。 #include <iostream> using namespace std; #define Pi 3.14 // 宏定义 π class Circle { private: double m_r; public: void setR(double r) { (1) } double (2) { return m_r; } double getArea() { return (3) ; } }; int main() { Circle c; c.setR(3); cout<<"Circle's r is "<< (4) <<endl; cout<<"Circle's area is "<< (5) <<endl; return 0; }
2.
```c++
#include <iostream>
using namespace std;
#define Pi 3.14 // 宏定义 π
class Circle {
private:
double m_r;
public:
void setR(double r) {
m_r = r;
}
double getR() {
return m_r;
}
double getArea() {
return Pi * m_r * m_r;
}
};
int main() {
Circle c;
c.setR(3);
cout<<"Circle's r is "<<c.getR()<<endl;
cout<<"Circle's area is "<<c.getArea()<<endl;
return 0;
}
```