首页 > 编程语言 >C++/PTA 函数重载(数据类型不同)

C++/PTA 函数重载(数据类型不同)

时间:2023-05-02 22:11:50浏览次数:27  
标签:sort 函数 int double 数据类型 C++ PTA 数组 data

题目要求

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

解题思路

  1. 定义两个一维数组,一个数组存放整型数据,另一个数组存放浮点型数据。
  2. 使用for循环将数据输入到数组当中。
  3. 使用sort函数将数据进行升序排列。
  4. 循环遍历数组。

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

标签:sort,函数,int,double,数据类型,C++,PTA,数组,data
From: https://www.cnblogs.com/qiushuo/p/17368392.html

相关文章

  • C++-[override]关键字使用详解
    本文介绍了C++override关键字使用详解以及与重载的区别。C++override关键字使用详解一、override作用二、override在基类与派生类的应用2.1.纯虚函数2.2.普通虚函数2.3.Override重写三、Override实例四、C++中重载(overload)与覆盖(override)4.1.重载(overload)4.2.重写/覆......
  • C++ 11 :override 关键字的使用
    override关键字作用:在成员函数声明或定义中,override确保该函数为虚函数并覆写来自基类的虚函数。位置:函数调用运算符之后,函数体或纯虚函数标识“=0”之前。使用以后有以下好处:1.可以当注释用,方便阅读2.告诉阅读你代码的人,这是方法的复写3.编译器可以给你验证override......
  • c++ 自由储存区和堆
    在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区谈到自由存储区与堆的区别,就需要了解new与malloc的区别。实际上堆是C语言的关键术语,是操作系统所维护的一块特殊内存,它提供了动态分配的功能。用户使用malloc进行堆内存申请,使用free实现堆内存的释......
  • 【C++】设立一组状态,在程序运行过程中设置对象的某个状态,检查对象是否满足所有的状态
    `#include//定义状态枚举enumState{STATE_A=1<<0,//0001STATE_B=1<<1,//0010STATE_C=1<<2//0100};classMyClass{private:intcurrentState;public:MyClass():currentState(0){}//设置状态voidsetState(Statestate){......
  • vcpkg:一站式C++库管理,简化工作流程
    简介vcpkg是一个用于在Windows系统上管理C++库的开源工具。它允许开发人员通过简单的命令行界面安装、管理和卸载各种C++库,并自动解决它们的依赖关系。vcpkg拥有一个庞大的库集合,包括Boost、OpenCV、Qt、SDL2等等,而且不仅限于Windows平台,还支持在Linux和macOS上进行交叉编译。......
  • 迁移学习(VMT)《Virtual Mixup Training for Unsupervised Domain Adaptation》
    论文信息论文标题:VirtualMixupTrainingforUnsupervisedDomainAdaptation论文作者:TakeruMiyato,S.Maeda,MasanoriKoyama,S.Ishii论文来源:2019CVPR论文地址:download 论文代码:download视屏讲解:click   ......
  • C++文件读写常用操作整理
    C++对于文件的操作需要包含<fstream>头文件文件类型分为两种:文本文件-文件以文件的ASCII码的形式存储在计算机中二进制文件-文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作ifstream:读操作fstream:读写操作一、文......
  • C++杂谈:STL
    五一快乐。终于有时间整理一点东西了,笔者这个五一过得是相当初生。大部分人都玩去了,只有我还在赶ddl的世界达成了qwq。不过我觉得还是做了自己想做的事情的。稍微记录一些前段时间OOP遇到的STL里面乱七八糟的东西。STL的一些底层实现vector这个谁都知道,是一个堆上分配的数组,......
  • c++ 调用函数,编译器查找函数过程
    假设此处调用函数 inta=1;floatb=1.0;func(a,b);//调用函数若func为非模板函数,编译器查找所有的名称为func的函数,然后检查函数入参的数量,再然后检查每个入参是否都可以转换到目标类型。(此处注意,如果参数类型为类对象,若该类支持隐式转换,那么会出现如下情况:classT......
  • c++回调函数
    回调函数本质上也是普通函数,只是调用机制有所区别——首先通过传参的形式将该函数的地址传递给其他函数,然后在其他函数中通过函数指针调用该函数。在其他函数中通过函数指针调用该函数的过程称为回调,而作为被调用的该函数则被称为回调函数。为什么需要回调函数?满足接口兼容性回......