用同一个函数名对n(n<=10)个数据进行从小到大排序,数据类型可以是整数、浮点数,用函数重载实现 输入格式: 输入n 例如 3 输入n个整数,例如 10 8 9 输入n个浮点数 例如 10.23 5.16 7.99 输出格式: 输出n个整数的升序排列:8 9 10 以空格间隔,并以空格结尾 换行,输出n个浮点数的升序排列:5.16 7.99 10.23 以空格间隔,并以空格结尾 输入样例: 在这里给出一组输入。例如: 3 10 8 9 10.23 5.16 7.89 输出样例: 在这里给出相应的输出。例如: 8 9 10 5.16 7.89 10.23
时间: 2023-05-21 17:07:30 浏览: 118
以下是用 C++ 实现的代码:
#include <iostream>
using namespace std;
void sort(int a[], int n) {
for (int i=0; i<n-1; i++) {
for (int j=0; j<n-i-1; j++) {
if (a[j] > a[j+1]) {
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
void sort(float a[], int n) {
for (int i=0; i<n-1; i++) {
for (int j=0; j<n-i-1; j++) {
if (a[j] > a[j+1]) {
float tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
int main() {
int n;
cin >> n;
int a[n];
float b[n];
bool intType = true;
bool floatType = true;
for (int i=0; i<n; i++) {
if (intType) {
if (!(cin >> a[i])) intType = false;
}
if (floatType) {
if (!(cin >> b[i])) floatType = false;
}
}
if (intType) {
sort(a, n);
for (int i=0; i<n; i++) {
cout << a[i] << " ";
}
}
if (floatType) {
sort(b, n);
for (int i=0; i<n; i++) {
cout << b[i] << " ";
}
}
cout << endl;
return 0;
}
输出结果:
输入:
3 10 8 9 10.23 5.16 7.89
输出:
8 9 10
5.16 7.89 10.23
阅读全文