向各位求解啦,字符串加密问题,注意输入顺序!

img

晕,是字母为'z',不是字母为'Z',搞死人了。

拜托了

代码如下:

#include <stdio.h>
int main()
{
    int k,i=0;
    unsigned char buf[100] = {0};
    scanf("%d %s",&k,buf);
    
    k = k%26;
    while(buf[i] != '\0')
    {
        if(buf[i] >= 'a' && buf[i] <= 'z')
        {
            buf[i] = buf[i] + k;
            if(buf[i] > 'z')
                buf[i] = 'a' + buf[i] - 'z' -1;
        }else if (buf[i] >= 'A' && buf[i] <= 'Z')
        {
            buf[i] = buf[i] + k;
            if(buf[i] > 'Z')
                buf[i] = 'A' + buf[i] - 'Z' -1;
        }
        
        i++;
    }
    printf("%s",buf);

    return 0;
}