View Code of Problem 5

#include<stdio.h>
struct fruit{
	int mark;
	int apple;
	int pear;
};
const int maxn = 100000;
 fruit fruits[maxn];
void InsertSort(int n){
	fruit temp;
	int i,j;
	for(i=0;i<n-1;i++){
		for(int j=n-1;j>i;j--){
			if(fruits[j].apple > fruits[j-1].apple){
				temp = fruits[j];
				fruits[j]=fruits[j-1];
				fruits[j-1]=temp;
			}
			else if(fruits[j].apple == fruits[j].apple){
				if(fruits[j].pear>fruits[j].pear){
					temp = fruits[j];
					fruits[j]=fruits[j-1];
					fruits[j-1]=temp;
				}
			}
		}
	} 
	for(i = 0;i<n;i++){
		printf("篮子%d 苹果%d 梨%d\n",fruits[i].mark,fruits[i].apple,fruits[i].pear);
	}

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

/*
Main.c:8:2: error: unknown type name 'fruit'
  fruit fruits[maxn];
  ^
Main.c:8:8: error: variably modified 'fruits' at file scope
  fruit fruits[maxn];
        ^
Main.c: In function 'InsertSort':
Main.c:10:2: error: unknown type name 'fruit'
  fruit temp;
  ^
Main.c:14:16: error: request for member 'apple' in something not a structure or union
    if(fruits[j].apple > fruits[j-1].apple){
                ^
Main.c:14:36: error: request for member 'apple' in something not a structure or union
    if(fruits[j].apple > fruits[j-1].apple){
                                    ^
Main.c:19:21: error: request for member 'apple' in something not a structure or union
    else if(fruits[j].apple == fruits[j].apple){
                     ^
Main.c:19:40: error: request for member 'apple' in something not a structure or union
    else if(fruits[j].apple == fruits[j].apple){
                                        ^
Main.c:20:17: error: request for member 'pear' in something not a structure or union
     if(fruits[j].pear>fruits[j].pear){
                 ^
Main.c:20:32: error: request for member 'pear' in something not a structure or union
     if(fruits[j].pear>fruits[j].pear){
                                ^
Main.c:29:47: error: request for member 'mark' in something not a structure or union
   printf("篮子%d 苹果%d 梨%d\n",fruits[i].mark,fruits[i].apple,fruits[i].pear);
                                               ^
Main.c:29:62: error: request for member 'apple' in something not a structure or union
   printf("篮子%d 苹果%d 梨%d\n",fruits[i].mark,fruits[i].apple,fruits[i].pear);
                                                              ^
Main.c:29:78: error: request for member 'pear' in something not a structure or union
   printf("篮子%d 苹果%d 梨%d\n",fruits[i].mark,fruits[i].apple,fruits[i].pear);
                                                                              ^
Main.c:11:8: warning: unused variable 'j' [-Wunused-variable]
  int i,j;
        ^
Main.c: In function 'main':
Main.c:39:28: error: request for member 'apple' in something not a structure or union
    scanf("%d %d",&fruits[i].apple,&fruits[i].pear);
                            ^
Main.c:39:45: error: request for member 'pear' in something not a structure or union
    scanf("%d %d",&fruits[i].apple,&fruits[i].pear);
                                             ^
Main.c:40:13: error: request for member 'mark' in something not a structure or union
    fruits[i].mark=i+1;
             ^
Main.c:44:29: error: request for member 'mark' in something not a structure or union
       printf("%d ",fruits[j].mark);
                             ^
*/

Double click to view unformatted code.


Back to problem 5