输入一串字符,以n为偏移量,输出偏移后字符串。
字母本来可以通过a+n,实现偏移,但是会有超出字母范围的情况,要处理的就是这种情况。
#include <stdio.h>
#include <stdlib.h>
int main()
{char a[60];
int n,num;
scanf("%d%s",&n,a);
int i;
n=n%26;//偏移量在26以内,超过26就取26的余数
for(i=0;a[i]!='\0';i++)
{
a[i]=(a[i]-'a'+n)%26+'a';//前面是算偏移量的多少,+‘a’就转换成字母
}
printf("%s",a);
return 0;
}