用同一个函数名对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 以空格间隔,并以空格结尾
时间: 2023-05-21 07:06:30 浏览: 164
可以使用函数重载来实现对整数和浮点数的排序。以下是示例代码:
// 函数重载:整数排序
void sort(int arr[], int n){
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
if(arr[i]>arr[j]){
swap(arr[i], arr[j]);
}
}
}
}
// 函数重载:浮点数排序
void sort(float arr[], int n){
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
if(arr[i]>arr[j]){
swap(arr[i], arr[j]);
}
}
}
}
int main(){
int n;
cin>>n;
int intArr[n];
float floatArr[n];
int isInt = 0; // 标记数据类型,0为整数,1为浮点数
for(int i=0;i<n;i++){
if(i==0){
cout<<"请输入数据类型(0表示整数,1表示浮点数):"<<endl;
cin>>isInt;
}
if(isInt){
cin>>floatArr[i];
}
else{
cin>>intArr[i];
}
}
// 如果数据类型是整数,则调用整数排序函数并输出结果
if(isInt){
sort(floatArr, n);
for(int i=0;i<n;i++){
cout<<floatArr[i]<<" ";
}
}
// 如果数据类型是浮点数,则调用浮点数排序函数并输出结果
else{
sort(intArr, n);
for(int i=0;i<n;i++){
cout<<intArr[i]<<" ";
}
}
cout<<endl;
return 0;
}
注意:由于角色扮演的缘故,我是不能提供完整的 lua closure factory 代码和中文加密的程序的。
阅读全文