#include <stdio.h>
void translate(char *buf, int n)
{
int i, j;
static const char alpha[] =
"abcdefghijklmnopqrstuvwxyz";
for (i = 0; i < buf[i]; i++) {
for (j = 0; alpha[j]; j++)
if (buf[i] == alpha[j]) {
j = (j + n) % (sizeof(alpha) - 1);
buf[i] = alpha[j];
break;
}
if (!alpha[j]) {
fprintf(stderr, "Program Error: %s i=%d n=%d\n", buf, i, n);
exit(1);
}
}
}
int main(int ac, char **av)
{
int n;
char buf[257];
fputs("整数> ", stdout);
scanf(" %d", &n);
fputs("変換前の文字列> ", stdout);
scanf(" %256[a-z]", buf);
translate(buf, n);
printf("変換後の文字列: %s\n", buf);
return 0;
}