题目描述
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
代码实现:
#include<stdio.h>
#define MAX_LEN 1000
int main(int argc,const char*argv[])
{
int n;
int i,j;
char array[MAX_LEN][4];
char tmpa[7] = {'\0'};
char tmpb[7] = {'\0'};
char tmp[4] = {'\0'};
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",array[i]);
}
strcpy(tmp,array[0]);
for(i = 0;i < n; i++){
for(j = i+1;j < n; j++){
//strcpy(tmp,array[i]);
strcpy(tmpa,array[i]);
strcpy(tmpb,array[j]);
strcat(tmpa,array[j]);
strcat(tmpb,array[i]);
if(strcmp(tmpa,tmpb)<0){
strcpy(tmp,array[i]);
strcpy(array[i],array[j]);
strcpy(array[j],tmp);
}
}
printf("%s",array[i]);
}
printf("\n");
return 0;
}