编程用数组实现对一组从键盘输入的数据(字符、整数或实数),求最大值、最小值、逆置等,并输出。
时间: 2024-09-06 21:02:59 浏览: 56
在编程中,我们可以使用数组来存储用户从键盘输入的一组数据,比如字符、整数或实数。以下是一个简单的例子,展示如何使用C++语言来实现这个功能:
```cpp
#include <iostream>
#include <algorithm> // 需要用到算法库来获取最大值和最小值
// 定义一个函数,接受字符数组并返回操作后的结果
void processArray(const char* input, int size, char (*operation)(char), bool reverse = false) {
if (reverse) { // 如果需要逆置数组
std::reverse(input, input + size);
}
// 转换输入的字符为整数或实数(假设输入的是ASCII码)
int values[size];
for (int i = 0; i < size; ++i) {
values[i] = static_cast<int>(input[i]);
}
// 对数值进行操作
int max_value = *std::max_element(values, values + size); // 求最大值
int min_value = *std::min_element(values, values + size); // 求最小值
// 输出结果
std::cout << "Max value: " << max_value << "\n";
std::cout << "Min value: " << min_value << "\n";
// 对于字符操作,可以先转回字符再显示
if (operation) {
char result[size];
for (int i = 0; i < size; ++i) {
result[i] = operation(values[i]);
}
std::cout << "Processed array: ";
for (const auto& c : result) {
std::cout << c;
}
std::cout << "\n";
}
}
// 示例操作函数,这里仅用于演示,实际应用中可能需要更复杂的处理
char reverseChar(char c) {
return c == 'a' ? 'z' : 'a'; // 反转小写字母
}
int main() {
const int inputSize = 5;
char input[inputSize];
std::cout << "Enter data: ";
for (int i = 0; i < inputSize; ++i) {
std::cin >> input[i]; // 输入数据
}
// 使用示例操作函数处理字符部分
processArray(input, inputSize, reverseChar);
return 0;
}
```
在这个程序中,用户首先输入一组数据,然后我们通过`processArray`函数进行逆置和查找最大/最小值的操作。对于字符部分,我们提供了一个简单的反转字母的例子,你可以根据需求修改或添加其他操作。
阅读全文