用C++写完整程序代码,n个正整数,将它们连接成一排,组成一个最大的多位整数
时间: 2024-06-06 14:10:16 浏览: 106
设有n个正整数,将他们连接成一排,组成一个最大的多位整数
好的,下面是用C语言写的完整程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *b);
int main()
{
int n, i;
char str[100][100];
scanf("%d", &n);
for(i = 0; i < n; i++)
{
scanf("%s", str[i]);
}
qsort(str, n, sizeof(str[0]), compare);
for(i = n-1; i >= 0; i--)
{
printf("%s", str[i]);
}
printf("\n");
return 0;
}
int compare(const void *a, const void *b)
{
char *s1 = (char *)a;
char *s2 = (char *)b;
char cat1[200] = {0};
char cat2[200] = {0};
strcat(cat1, s1);
strcat(cat1, s2);
strcat(cat2, s2);
strcat(cat2, s1);
return strcmp(cat1, cat2);
}
此程序实现的功能为将n个正整数按照连接后能组成的最大值的大小排序,然后输出排序后的整数串。
阅读全文