PAT-乙級 1004 成績排名(C語言)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct studentData {
	char name[11];
	char id[11];
	int achievement;
};
int main(){
	int studentNumbers;
	scanf("%d", &studentNumbers);
	struct studentData*  dataPointer;
	dataPointer = calloc(3, sizeof(struct studentData));
	(dataPointer + 2)->achievement = 101;
	int i;
	for (i = 0; i < studentNumbers; i++) {
		scanf("%s", &dataPointer->name);
		scanf("%s", &dataPointer->id);
		scanf("%d", &dataPointer->achievement);
		if (dataPointer->achievement > (dataPointer + 1)->achievement) {
			strcpy((dataPointer + 1)->name, dataPointer->name);
			strcpy((dataPointer + 1)->id, dataPointer->id);
			(dataPointer + 1)->achievement = dataPointer->achievement;
		}
		if (dataPointer->achievement < (dataPointer + 2)->achievement) {
			strcpy((dataPointer + 2)->name, dataPointer->name);
			strcpy((dataPointer + 2)->id, dataPointer->id);
			(dataPointer + 2)->achievement = dataPointer->achievement;
		}
	}
	printf("%s %s\n", (dataPointer + 1)->name, (dataPointer + 1)->id);
	printf("%s %s", (dataPointer + 2)->name, (dataPointer + 2)->id);
	//system("pause");
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章