C++编程:键盘输入10个数(可能为整形、浮点 型、双精度型及其字符类型),分别利用函数 重载和函数模板,求出其中的最大值和最小 值。
时间: 2023-05-10 09:56:02 浏览: 112
C++函数重载的深入解析
好的,这是一个关于 C 编程的问题。以下是使用函数重载和函数模板求出输入的十个数中最大值和最小值的示例代码:
```c++
#include <iostream>
using namespace std;
template <typename T>
T findMax(T arr[], int n) {
T max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
template <typename T>
T findMin(T arr[], int n) {
T min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int n = 10;
int arr1[n];
float arr2[n];
double arr3[n];
char arr4[n];
cout << "请输入十个整数:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr1[i];
}
cout << "最大值为:" << findMax(arr1, n) << endl;
cout << "最小值为:" << findMin(arr1, n) << endl;
cout << "请输入十个浮点数:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr2[i];
}
cout << "最大值为:" << findMax(arr2, n) << endl;
cout << "最小值为:" << findMin(arr2, n) << endl;
cout << "请输入十个双精度数:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr3[i];
}
cout << "最大值为:" << findMax(arr3, n) << endl;
cout << "最小值为:" << findMin(arr3, n) << endl;
cout << "请输入十个字符:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr4[i];
}
cout << "最大值为:" << findMax(arr4, n) << endl;
cout << "最小值为:" << findMin(arr4, n) << endl;
return 0;
}
```
希望这个示例代码能够帮助你解决问题。
阅读全文