【C++ | PTA】函数重载(数据类型不同)

该程序使用C++编写,通过函数重载对输入的整数和浮点数数组进行从小到大的排序。首先读取n值,然后分别输入n个整数和n个浮点数,利用<algorithm>库中的sort函数进行排序,最后按升序顺序输出排序后的整数和浮点数。

题目要求

用同一个函数名对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

代码

#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++ 运算符重载 PTA 平台练习题及解答 #### 实现复数类中的运算符重载 为了展示如何在PTA平台上完成涉及运算符重载的任务,下面提供了一个具体的例子:创建一个`CComplex`类来表示复数,并实现基本的加法操作以及输入输出流的操作。 ```cpp #include <iostream> using namespace std; class CComplex { public: double real, imag; // 默认构造函数 CComplex(double r = 0, double i = 0):real(r), imag(i){} // 定义加号运算符重载成员函数版本 CComplex operator+(const CComplex& other) const { return CComplex(real + other.real, imag + other.imag); } // 友元函数用于处理整数与对象相加的情况 friend CComplex operator+(int num, const CComplex& obj); // 输出运算符重载 friend ostream& operator<<(ostream&, const CComplex&); // 输入运算符重载 friend istream& operator>>(istream&, CComplex&); }; // 整数与对象相加的友元函数定义 CComplex operator+(int num, const CComplex& obj){ return CComplex(num + obj.real, obj.imag); } // 输出运算符重载的具体实现 ostream& operator<<(ostream& os, const CComplex& obj){ os << "(" << obj.real << ", " << obj.imag << ")"; return os; } // 输入运算符重载的具体实现 istream& operator>>(istream& is, CComplex& obj){ cout << "Enter the real and imaginary parts separated by space:"; is >> obj.real >> obj.imag; return is; } ``` 这段代码展示了如何在一个自定义的数据结构内实现不同类型的加法运算[^2]。对于像`<<`这样的流插入运算符和`>>`这样的提取运算符,则通常作为全局范围内的非成员函数来进行声明并利用`friend`关键字让这些函数能够访问私有的数据成员[^1]。 当涉及到具体的应用场景时,在PTA上可能会遇到更复杂的要求,比如支持更多种类的二元运算(减法、乘法、除法),或是允许浮点数值参与计算等扩展功能。此外,还需要注意某些特殊情况下可能出现的问题,例如防止内存泄漏或确保线程安全等问题。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值