75分,大佬求助,阿里嘎多
查看原帖
75分,大佬求助,阿里嘎多
1200906
xiusiku楼主2023/11/27 20:24
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
	char really_num[11];
	char cmp_num[11];
}number;
int compare(const void*e1, const void*e2)
{
	return strcmp(((number*)e2)->cmp_num, ((number*)e1)->cmp_num);
}
int main()
{
	int n;
	scanf("%d", &n);
	number*arr = (number*)malloc(n*sizeof(number));
	for (int i = 0; i<n; i++)
	{
		scanf("%s", arr[i].really_num);
		strcpy(arr[i].cmp_num ,arr[i].really_num);
		int len = strlen(arr[i].really_num);
		if (len<10)
		{
			for (int j = len; j<10; j++)
			{
				arr[i].cmp_num[j] = '0';
			}
			arr[i].cmp_num[10] = '\0';
		}
	}
	qsort(arr, n, sizeof(number), compare);
	for (int i = 0; i<n; i++)
	{
		printf("%s", arr[i].really_num);
	}
	free(arr);
	return 0;
}
2023/11/27 20:24
加载中...