题目要求
用同一个函数名对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
解题思路
- 定义两个一维数组,一个数组存放整型数据,另一个数组存放浮点型数据。
- 使用for循环将数据输入到数组当中。
- 使用sort函数将数据进行升序排列。
- 循环遍历数组。
sort函数
:
语法:sort(start,end,cmp)
参数(1)start表示要排序数组的起始地址;(2)end表示数组结束地址的下一位;
代码
#include <iostream>
#include <algorithm>//sort函数的头文件
using namespace std;
int main()
{
int n;
cin>>n;
int int_data[n]; //定义整型数组
double double_data[n];//定义浮点型数组
for(int i=0;i<n;i++)
{
cin>>int_data[i];
}//数据输入
for(int i=0;i<n;i++)
{
cin>>double_data[i];
}//数据输入
//排序
sort(int_data,int_data+n);
sort(double_data,double_data+n);
//数据输出
for(int i=0;i<n;i++)
{
cout<<int_data[i]<<' '; //以空格间隔
}
//换行
cout<<endl;
//数据输出
for(int i=0;i<n;i++)
{
cout<<double_data[i]<<' ';//以空格间隔
}
//换行
cout<<endl;
return 0;
}
注意事项
sort函数的头文件不可忽略。
总结
该题考察函数重载的使用,C++中允许在同一作用域中用同一函数名定义多个不同功能的函数,这些函数的参数个数和参数类型不相同。
我是秋说,我们下次见。