#include <stdio.h>
#include <ctype.h>
int main(){
char a[100],d,e[100],nn;
int b,c;
scanf("%d%d %c",&b,&c,&d);
getchar();
gets(a);
for(int i=0,k=0,j=0;a[k]!='\0';k++){
if(isalpha(a[k])){
i++;
if(i==1) {e[j]=a[k];j++; }
if(i%b==0) i=0;
}
}
for(int i=0;e[i]!='\0';i++){
if(e[i]>='A'&&e[i]<='Z') e[i] += 32;
}
if(d=='r'){if(c<0) c=-c;}
if(d=='l'){if(c>0) c=-c;}
if(c>0)
for(int i=0;e[i]!='\0';i++){
if(e[i]>'z'-c) printf("%c",e[i]+c-26);
else printf("%c",e[i]+c);
}
else
for(int i=0;e[i]!='\0';i++){
if(e[i]<'a'-c) printf("%c",e[i]+26+c);
else printf("%c",e[i]+c);
}
putchar('\n');
return 0;
}
为什么大写字母放在末尾的结果不对
求解答