80分,求助大佬,判断点4

P1914 小书童——凯撒密码

aaaaa88 @ 2024-12-16 15:59:00

//L5733
#include<stdio.h>
#include<ctype.h>
#define max 1000
int main()
{
    int n;
    scanf("%d",&n);//每个字母向后移动位数 

    char a[max]={0};
    int i=0;
    scanf("%s",a);
    int re=n%26;

    for(i=0;a[i]!='\0';i++)//转换为大写=减去a+A 
    {
        if(n<26)
        {
            a[i]=a[i]+n;
        }
        else
        {
            a[i]=a[i]+re;
        }

    }
    printf("%s",a);
    return 0;
 } 

by markeoeitwupp @ 2024-12-16 16:43:28

你这个输入z它往后会超出字母

#include<stdio.h>
#include<ctype.h>
#define max 1000
int main()
{
    int n;
    scanf("%d",&n);//每个字母向后移动位数 

    char a[max]={0};
    int i=0;
    scanf("%s",a);
    int re=n%26;

    for(i=0;a[i]!='\0';i++)//转换为大写=减去a+A 
    {
        if(a[i]-'a'+1+re<=26)
        {
            a[i]=a[i]+re;
        }
        else
        {
            a[i]=a[i]+re-26;
        }

    }
    printf("%s",a);
    return 0;
 }

by aaaaa88 @ 2024-12-21 15:17:51

好的,谢谢


|