牛客——拼数
题目:
链接:https://ac.nowcoder.com/acm/problem/16783
来源:牛客网
题目描述
设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入描述:
第一行,一个正整数n。 第二行,n个正整数。
输出描述:
一个正整数,表示最大的整数
输入
3 13 312 343
输出
34331213
my code:
#include<iostream>
#include<string>
using namespace std;
bool compare(string a,string b){
if(a+b>=b+a)
return false;
return true;
}
int main()
{
int n;
cin>>n;
string a[20],temp;
for(int k=0;k<n;k++)
cin>>a[k];
for(int i=0;i<n-1;i++){
for(int j=n-1;j>i;j--){
if(compare(a[j-1],a[j])){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
for(int k=0;k<n;k++){
cout<<a[k];
}
cout<<endl;
return 0;
}
c++中的拼接操作:
在c++中,对于string类型变量,我们可以直接用“+”或者“+=”进行字符串的连接,操作符非常方便。
用“+”风格字符串进行字符串连接时,操作符左右两边既可以都是string字符串,也可以是一个string字符串和一个C风格的字符串,还可以是一个string字符串和一个char字符。
而用“+=”风格字符串进行字符串连接时,操作符右边既可以是一个string字符串,也可以是一个C风格字符串或一个char字符。
上述两种方法:左边必须是string字符串。
C++中的string:
在C++中提供了一个型的内建数据类型string,该数据类型可以替代C语言中char数组。
与C风格的char型数组不同,string类型的变量结尾是没有 ’\0’ 的。
我们可以通过s变量来调用length函数,从而返回s变量的长度。
转换函数c_str,该函数将string类型的变量转换为一个const的字符串数组的指针。
在C++中,在输入输出方面,我们可以像对待普通变量那样对待string类型变量,其输入输出仍然可以用输入输出操作符进行处理。
输入操作符是默认忽略空格的,当遇到空格时就开始存储字符串。
在C++中提供了一个型的内建数据类型string,该数据类型可以替代C语言中char数组。需要使用string数据类型时则需要在程序中包含头文件string。string类型处理起来会比较方便,下面我们将逐一介绍该类型的功能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)