思路:首先写出后移(前移)1位的情况 , 然后逐渐累加至N位情况
#include <stdio.h>
void test(char arr[] , int n )
{
?? ?int i = 0;
?? ?int z = 0;
?? ?if( n < 0 )
?? ?{
?? ??? ?while( i != n )
?? ??? ?{
?? ??? ??? ?for( z = 0 ; arr[z] != '\0' ; z++)
?? ??? ??? ?{
?? ??? ??? ??? ?if( arr[z] <= 'z' && arr[z] >= 'a' )
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if( arr[z] == 'a' )
?? ??? ??? ??? ??? ??? ?arr[z] = 'z';
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?arr[z] = arr[z] - 1;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if( arr[z] <= 'Z' && arr[z] >= 'A' )
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if( arr[z] == 'A' )
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?arr[z] = 'Z';
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?arr[z] = arr[z] - 1;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?i--;
?? ??? ?}
?? ?}
?? ?else if( n == 0 )
?? ?{
?? ??? ?;
?? ?}
?? ?else?
?? ?{
?? ??? ?while( i != n )
?? ??? ?{
?? ??? ??? ?for( z = 0 ; arr[z] != '\0';z++)
?? ??? ??? ?{
?? ??? ??? ??? ?if( arr[z] <= 'z' && arr[z] >= 'a')
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if( arr[z] == 'z')
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?arr[z] = 'a';
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?arr[z] = arr[z] + 1;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?i++;
?? ??? ?}
?? ?}
}
int main()
{
?? ?int i = 0;
?? ?int j = 0;
?? ?int n = 0;
?? ?char arr[128] = { '\0' };
?? ?gets(arr);
?? ?scanf("%d",&n);
?? ?test(arr,n);
?? ?puts(arr);
?? ?return 0;
}