Problem przy sortowaniu alfabetycznym.

0

Witam,
mam pewien problem, otóż za zadanie mam wczytać ciąg liter od użytkownika, powiedzmy jakiś wyraz, a następnie ułożyć ten wyraz w kolejności alfabetycznej. To znaczy, jeśli na wejściu będzie JASIU to program powinien zwrócić ciąg: AIJUS. Do tej pory udało mi się wykombinować coś takiego:

 
char x[3001];
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}

int main() 
{ 
	int n;
	scanf("%s",x);
	qsort (x, 1, sizeof(x), compare);
	for (n=0; n<1; n++)
		printf ("%d ",x[n]);
	return 0;
} 

Po kompilacji i uruchomieniu programu otrzymuję wynik w postaci liczby. Np. gdy podam na wejściu* ala* to otrzymam 97, a gdy podam jacek, to program zwraca 106. Co robię nie tak?

Dziękuję i pozdrawiam

1

Genialnie ponad polowa wierszy z jakimiś błędami!

char x[3001];
int compare (const void * a, const void * b)
  {
   return *(char*)a-*(char*)b;
  }
 
int main() 
  { 
   int n;
   scanf("%300s",x);
   qsort (x,strlen(x),1,compare);
   printf ("%s ",x);
   return 0;
  }
0

Dziękuję za tak ekspresową pomoc. Teraz wszystko działa, tak jak należy :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1