#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.