ho cercato di fare un algoritmo per ordinare una stringa
ha il problema che se scrivi piu di -MAX_C- va ad alterare caselle poste
dopo la fine dell'array con risultati imprevedibili(vedi funzione gets).
spero possa esserti utile,ciao.
codice:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define MAX_C 10

void main()
{
char z[MAX_C];
printf("Inserisci una stringa \n");
gets(z);
int i;
char temp;
int diff; 
int lung =(int)strlen(z);
if(lung >MAX_C)
{
printf("\nstringa troppo lunga");
printf("\npremere un tasto per uscire");
}
else
{

	do 
	{
	diff=0;

	for(i=0;i<(lung-1);i++)
	{	
		
		if(z[i]>z[i+1])
			{
				temp=z[i];
				z[i]=z[i+1];
				z[i+1]=temp;
				diff=1;
			}
	}

	}while(diff == 1);
	printf("La stringa ordinata e %s",z);
}
	getch();
}