为什么只过了后三个测试点,求大神解答
查看原帖
为什么只过了后三个测试点,求大神解答
1587771
Geistone楼主2024/12/12 17:02
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef  struct  man{
	int num;
	char cnt[101];
}M;

int cmp(const void* a, const void* b)
{
	M* A = (M*)a;
	M* B = (M*)b;
	return strcmp(B->cnt,A->cnt);
}

int main()
{
	int n;
	scanf("%d", &n);
	M* arr = (M*)malloc(n*sizeof(M));
	int i;
	for (i = 0; i < n; i++) {
		scanf("%s", &arr[i].cnt);
		arr[i].num = i + 1;
	}
	qsort(arr, n, sizeof(M), cmp);
	printf("%d\n%s", arr[0].num, arr[0].cnt);
	free(arr);
	return 0;
}

求解

2024/12/12 17:02
加载中...