入替え後 Z C B E D G F I H K J M L O N Q P S R U T W V Y X A
1文字を引数として受け取り、上記のように入れ替えた文字(表に含まれて
いない文字は引数そのもの)を戻り値とする関数を作成する。といった課題なのですが
文字列を1文字ずらすことはできるのですが上記の入れ替え方がいまいち書き方がわかりません、ご教授お願いします、、
#include<stdio.h>
#include<string.h>
void cipher(char str[]){
int i,j;
j=strlen(str);
for(i=0;i<j;i++){
if(str[i] >= 'a' && str[i] <= 'z'){
str[i]++;
if (str[i] == 'z' + 1 )
str[i] -= 'Z' - 'A' + 1;
if (str[i] == 'a' + 1 )
str[i] -= 'A' - 'Z' + 1;
str[i]-='a'-'A'; /*小文字を大文字に*/
}
}
}
int main()
{
char str[128];
fgets(str,128,stdin);
cipher(str);
printf("%s",str);
return 0;
}