思路:首先写出后移(前移)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;
}