View Code of Problem 126

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct String{
    int numOfReverse;
    char chars[55];
}str[100];

int cmp(const void *p,const void *q){
    String a = *(String *)p;
    String b = *(String *)q;
    return (a.numOfReverse - b.numOfReverse);
}

int calcNumOfReverse(char *s){
    int i,j;
    int cnt = 0,leap = 1,sum = 0;
    for(i=0;i<strlen(s);i++){
        for(j=i+1;j<strlen(s);j++){
            if(s[j]<s[i]){
                cnt++;
            }    
        }
        sum += cnt;
        cnt = 0;
    }    
    return sum;
}
int main( ){
    int col,row;
    int i,j,k;
    scanf("%d %d",&col,&row);
    for(i=0;i<row;i++){
        scanf("%s",str[i].chars);
    }
    for(i=0;i<row;i++){
        str[i].numOfReverse = calcNumOfReverse(str[i].chars);
    }
    qsort(str,row,sizeof(str[0]),cmp);
    for(i=0;i<row;i++){
        printf("%s\n",str[i].chars);
    }
    return 0;
}
/*
Main.c: In function 'cmp':
Main.c:11:5: error: unknown type name 'String'
     String a = *(String *)p;
     ^
Main.c:11:18: error: 'String' undeclared (first use in this function)
     String a = *(String *)p;
                  ^
Main.c:11:18: note: each undeclared identifier is reported only once for each function it appears in
Main.c:11:26: error: expected expression before ')' token
     String a = *(String *)p;
                          ^
Main.c:12:12: error: expected ';' before 'b'
     String b = *(String *)q;
            ^
Main.c:13:14: error: request for member 'numOfReverse' in something not a structure or union
     return (a.numOfReverse - b.numOfReverse);
              ^
Main.c:13:30: error: 'b' undeclared (first use in this function)
     return (a.numOfReverse - b.numOfReverse);
                              ^
Main.c:11:12: warning: variable 'a' set but not used [-Wunused-but-set-variable]
     String a = *(String *)p;
            ^
Main.c: In function 'calcNumOfReverse':
Main.c:18:17: warning: unused variable 'leap' [-Wunused-variable]
     int cnt = 0,leap = 1,sum = 0;
                 ^
Main.c: In function 'main':
Main.c:32:13: warning: unused variable 'k' [-Wunused-variable]
     int i,j,k;
             ^
Main.c:32:11: warning: unused variable 'j' [-Wunused-variable]
     int i,j,k;
           ^
Main.c: In function 'cmp':
Main.c:14:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
*/

Double click to view unformatted code.


Back to problem 126