没有使用指针,主函数内使用了switch语句
#include<iostream>
using namespace std;
int main()
{
int n,m, a[1000];//n小于1000
float b[1000];
double c[1000];
void sort(int a[], int n);
void sort(float a[], int n);
void sort(double a[], int n);
cout << "请输入对几个数据的排序:" << endl;
cin >> n;
cout << "请输入数据类型" << endl << "1.整形" << endl << "2.单精度型" <<endl<< "3.双精度型" << endl;
cin >> m;
switch (m)
{
case 1:
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, n); break;
case 2:
for (int i = 0; i < n; i++)
cin >> b[i];
sort(b,n); break;
case 3:
for (int i = 0; i < n; i++)
cin >> c[i];
sort(c, n); break;
}
return 0;
}
void sort(int a[], int n)
{
int t;
for (int i =1; i < n; i++)
{
for (int j = 0; j < n - 1; j++)
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
for (int i = 0; i < n; i++)
cout << a[i]<<" ";
}
void sort(float a[], int n)
{
float t;
for (int i = 1; i < n; i++)
{
for(int j=0;j<n-1;j++)
if (a[j] > a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
for (int i = 0; i < n; i++)
cout << a[i]<<" ";
}
void sort(double a[], int n)
{
double t;
for (int i = 1; i < n; i++)
{
for (int j = 0; j < n - 1; j++)
if (a[j] > a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
for (int i = 0; i < n; i++)
cout << a[i]<<" ";
}