题目要求
用同一个函数名对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++中允许在同一作用域中用同一函数名定义多个不同功能的函数,这些函数的参数个数和参数类型不相同。
我是秋说,我们下次见。