60分求救
查看原帖
60分求救
1468054
Nemophilist_Morii楼主2024/11/2 22:07
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
	int id;
	char x[101];
}Point;

int compare(const void *a, const void *b) {
	Point* A = (Point*)a;
	Point* B = (Point*)b;
	if(strlen(A->x)!=strlen(B->x))
	{
		return strlen(B->x)-strlen(A->x);
	}

	return strcmp(A->x,B->x); 
}
int main() {
	int n;
	scanf("%d", &n);
	Point *arr = (Point*)malloc(n * sizeof(Point));
	for (int i = 0; i < n; i++) {
		arr[i].id=i+1;
		scanf("%s", arr[i].x);
		qsort(arr, n, sizeof(Point), compare);
	for(int i=0;i<n;i++)
	{
		printf("%s\n",arr[i].x);
	}
	free(arr);
	return 0;
}
2024/11/2 22:07
加载中...