View Code of Problem 5

#include<stdio.h>

struct fruit {
	int mark;
	int apple;
	int pear;
}fruits[10000];
//const int maxn = 100000;
//fruit fruits[maxn];
//struct fruit fruits[maxn];
int InsertSort(fruit fruits[], int n) {
	fruit temp;
	int i, j;
	for (i = 1; i < n; i++) {
		if (fruits[i].pear > fruits[i - 1].pear) {
			temp = fruits[i];
			printf("临时%d \n", temp.pear);
			for (j = i - 1; temp.pear > fruits[j].pear; j--) {
				fruits[j + 1] = fruits[j];
			}
			fruits[j + 1] = temp;
		}

	}

	for (i = 1; i < n; i++) {
		if (fruits[i].apple > fruits[i - 1].apple) {
			temp = fruits[i];
			for (j = i - 1; temp.apple > fruits[j].apple; j--) {
				fruits[j + 1] = fruits[j];
			}
			fruits[j + 1] = temp;
		}
	}
	for (int k = 0; k < n; k++) {
		printf("篮子%d 苹果%d 梨%d\n", fruits[k].mark, fruits[k].apple, fruits[k].pear);
	}

	return 0;
}
int main() {
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d %d", &fruits[i].apple, &fruits[i].pear);
		fruits[i].mark = i + 1;
	}
	InsertSort(fruits, n);
	for (int j = 0; j < n; j++) {
		printf("%d ", fruits[j].mark);
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 5