C语言练习题--洛谷P1012拼数

题目描述

设有 n 个正整数 a1​...an​,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。

输入格式

第一行有一个整数,表示数字个数 n。

第二行有 n 个整数,表示给出的 n 个整数 ai​。

输出格式

一个正整数,表示最大的整数

输入输出样例

输入 #1复制

复制代码
3
13 312 343

输出 #1复制

复制代码
34331213

输入 #2复制

复制代码
4
7 13 4 246

输出 #2复制

复制代码
7424613

说明/提示

对于全部的测试点,保证 1≤n≤20,1≤ai​≤109。

NOIP1998 提高组 第二题

cs 复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int compar(const void *a,const void *b)
{
	return strcmp((char*)a,(char*)b);
}
int main()
{
	int n,i;
	scanf("%d",&n);
	char str[25][25]={'\0'};
	for(i=0;i<n;i++)
	scanf("%s",str[i]);
	qsort(str,n,sizeof(str[0]),compar);
	for(i=n-1;i>=0;i--)
	{
	if(str[i][0]==str[i-1][0])
	{
	char c[25]={'\0'},a[25]={'\0'},b[25]={'\0'};
	strcpy(b,str[i-1]);
	strcpy(a,str[i]);
	if(strcmp(strcat(b,a),strcat(a,b))>0)
	{
	strcpy(c,str[i-1]);
	strcpy(str[i-1],str[i]);
	strcpy(str[i],c);	
	}	
	}	
	}
	for(i=n-1;i>=0;i--)
	printf("%s",str[i]);
	return 0;
}

利用qsort函数对二维字符串排序

相关推荐
txinyu的博客1 分钟前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
搞笑症患者16 分钟前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法
Mr -老鬼17 分钟前
Rust适合干什么?为什么需要Rust?
开发语言·后端·rust
im_AMBER20 分钟前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
予枫的编程笔记20 分钟前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法
ohoy26 分钟前
RedisTemplate 使用之Set
java·开发语言·redis
mjhcsp26 分钟前
C++ 后缀数组(SA):原理、实现与应用全解析
java·开发语言·c++·后缀数组sa
hui函数27 分钟前
如何解决 pip install 编译报错 ‘cl.exe’ not found(缺少 VS C++ 工具集)问题
开发语言·c++·pip
云栖梦泽36 分钟前
易语言Windows桌面端「本地AI知识管理+办公文件批量自动化处理」双核心系统
开发语言
快手技术37 分钟前
AAAI 2026|全面发力!快手斩获 3 篇 Oral,12 篇论文入选!
前端·后端·算法