用c++写出以下程序通过键盘输入圆的半径,编程序计算圆的面积并输出。 作业二:通过键盘输入一个三位正整数,编程求其百、十、个位数字之积并输出。 作业三:定义三个整型变量,从键盘输入三个整数,计算平均值并输出。 作业四:从键盘输入任意一个四位正整数,将其各位数字反序输出。 作业五:从键盘输入两个数,编程实现两个数的交换并输出。
时间: 2025-06-24 07:38:50 AIGC 浏览: 26
### C++ 实现圆面积计算
以下是基于给定半径 `r` 计算圆面积的代码示例:
```cpp
#include <iostream>
using namespace std;
const double PI = 3.14159265358979323846;
double calculateCircleArea(double r) {
return PI * r * r;
}
int main() {
double radius;
cout << "请输入圆的半径: ";
cin >> radius;
double area = calculateCircleArea(radius);
cout << "圆的面积为: " << area << endl;
return 0;
}
```
此程序通过定义常量 `PI` 来表示圆周率,并利用公式 \( \text{area} = \pi r^2 \) 进行计算[^1]。
---
### C++ 实现三位数分解
以下代码实现了将一个三位正整数按百位、十位和个位分别提取的功能:
```cpp
#include <iostream>
using namespace std;
void decomposeThreeDigitNumber(int num) {
int hundreds = num / 100; // 百位
int tens = (num % 100) / 10; // 十位
int units = num % 10; // 个位
cout << "百位: " << hundreds << ", 十位: " << tens << ", 个位: " << units << endl;
}
int main() {
int number;
cout << "请输入一个三位数: ";
cin >> number;
if (number >= 100 && number <= 999 || number >= -999 && number <= -100) {
decomposeThreeDigitNumber(abs(number));
} else {
cout << "输入错误! 不是有效的三位数." << endl;
}
return 0;
}
```
这段代码能够处理正负三位数的情况,同时验证输入的有效性[^2]。
---
### C++ 实现四位数反序
下面是实现将任意四位数反转顺序的代码:
```cpp
#include <iostream>
using namespace std;
int reverseFourDigitNumber(int num) {
int reversedNum = 0;
while (num != 0) {
reversedNum = reversedNum * 10 + num % 10;
num /= 10;
}
return reversedNum;
}
int main() {
int number;
cout << "请输入一个四位数: ";
cin >> number;
if (number >= 1000 && number <= 9999 || number >= -9999 && number <= -1000) {
int result = reverseFourDigitNumber(abs(number)) * (number > 0 ? 1 : -1);
cout << "反转后的数字为: " << result << endl;
} else {
cout << "输入错误! 不是有效的四位数." << endl;
}
return 0;
}
```
该方法适用于任何四位整数(包括负数),并通过逻辑运算保留原始符号[^3]。
---
### C++ 实现平均值计算
以下代码用于接收一组数值并返回它们的平均值:
```cpp
#include <iostream>
using namespace std;
double calculateAverage(const int numbers[], int size) {
if (size == 0) return 0;
long long sum = 0;
for (int i = 0; i < size; ++i) {
sum += numbers[i];
}
return static_cast<double>(sum) / size;
}
int main() {
const int SIZE = 5;
int values[SIZE];
cout << "请输入" << SIZE << "个整数:" << endl;
for (int i = 0; i < SIZE; ++i) {
cin >> values[i];
}
double average = calculateAverage(values, SIZE);
cout << "这些数的平均值为: " << average << endl;
return 0;
}
```
这里假设用户会提供固定数量的数据点来简化流程。如果需要动态调整大小,则可以改用标准库中的容器类如 `std::vector<int>`[^1]。
---
### C++ 实现两个数交换
这是最基础版本的两数互换操作演示:
```cpp
#include <iostream>
using namespace std;
void swapNumbers(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int firstValue, secondValue;
cout << "请输入第一个数: "; cin >> firstValue;
cout << "请输入第二个数: "; cin >> secondValue;
cout << "\n交换前:\n";
cout << "firstValue=" << firstValue << ", secondValue=" << secondValue << endl;
swapNumbers(firstValue, secondValue);
cout << "\n交换后:\n";
cout << "firstValue=" << firstValue << ", secondValue=" << secondValue << endl;
return 0;
}
```
注意这里的参数传递方式采用了引用形式 (`&`) ,从而允许函数内部修改外部变量的实际存储位置内容。
---
####
阅读全文