字符串操作(移位)

输入格式

第一行:移动n位。第二行:未移动前的一串字母

输出格式:

一串新的字符串

几行神之代码,简短有力!!!

#include <stdio.h>

int main()

{  

char in[100];  

int n, j;  

scanf("%d%s", &n, in); //读入  

for(j = 0; in[j] != '\0'; j++)  

putchar((in[j]-'a'+n)%26+'a');  

//in[j]-'a':读入中对应的第几个字母的位置,比如'a'对应0,'b'对应1,'c'对应2(0开始);  

//in[j]-'a'+n:读入中对应字母加上转移位数得到的字母的对应位置。  

//比如说'c'这个字母移动3位,就是第2个字母向右移动3个,就是第五个字母,即'f'  

//取余26是防止移动位数超过26导致炸掉  

//再加上'a',将对应位置还原成字母,再打出来 }

猜你喜欢

转载自blog.csdn.net/qq1013459920/article/details/80670854