>>422
// 未検証。というか二次元配列使ってないな。
#include <errno.h>
#include <stdio.h>

int main()
{
char s[21];
int i, j, p;
i = scanf("%20[0-9a-z]", s);
if (i < 0) {
perror(NULL);
return errno;
} else if (!i) {
printf("Input is invalid.\n");
return EINVAL;
}
printf("result: ");
p = 0;
for (i = sizeof(s) - 2; i >= 0; i--) {
for (j = 0; s[j]; j++)
if (s[j] < s[p])
p = j;
putchar(s[p]);
s[p] = s[i];
s[i] = 0;
}
putchar('\n');
return 0;
}