c语言,90分,不知道问题在哪里

P1914 小书童——凯撒密码

jango @ 2023-08-19 13:32:06

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    char s[55];
    scanf("%d",&n);
    scanf("%s",&s);
    n=n%26;
    for(int i=0;s[i]!='\0';i++)
    {
        s[i]+=n;
        for(;s[i]>'z';)
        {
            s[i]=s[i]-'a'+'z'-1;
        }

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

by czwhaha @ 2023-08-19 13:56:05

你试一下c++(代码如下)


#include<bits/stdtr1c++.h>
using namespace std;
int main(){
    string a;
    int n;
    cin>>n;
    cin>>a;
    for(int i=0;i<a.length();i++){
        a[i]=(a[i]+n-'a')%26+'a';
        }
        cout<<a;
    return 0; 
}

by xQWQx @ 2023-08-19 14:12:28

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    char s[55];
    scanf("%d",&n);
    scanf("%s",&s);
    n=n%26;
    for(int i=0;s[i]!='\0';i++)
    {
        s[i]+=n;
        for(    ;s[i]>'z';  )
        {
            s[i]=s[i]-'z'+'a'-1;//这里错了
        }

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

by xQWQx @ 2023-08-19 14:16:44

@jango

当字母大于‘z’的时候应该减去‘z’而不是‘a’然后加上‘a’

因为大于‘z’我们就要知道是多了几个字符,然后加上‘a’就能知道密码


by xQWQx @ 2023-08-19 14:20:12

@jango

你可以试一试在你原来的代码里输入:

27

zzzzzzzzzzzzz

会输出:摀摀摀摀摀摀


by xQWQx @ 2023-08-19 14:33:57

虽然有人回复了但是他没有说你错哪,蒟蒻补充一下。


by jango @ 2023-08-19 15:27:45

@C112345565 确实是这样,老哥,但改成你的,还是有问题,你输入 25 xxxxx 试一下,是乱码


by xQWQx @ 2023-08-19 16:52:10

@jango

蒟蒻太弱了

但蒟蒻帮你下载了#4的数据

输入:

25

abcxyz

输出:

zabwxy


by xQWQx @ 2023-08-19 16:52:38

@jango

蒟蒻再改一下


by jango @ 2023-08-19 19:06:50

@C112345565 大佬很强了已经


by wbhqm @ 2023-08-23 13:40:08

@jango

#include<iostream>
#include<iomanip>//fixed,setprecision
#include<math.h>
#include<algorithm>
#include<string>
#include<stdio.h>
using namespace std;
char a[55];
int main()
{
    int n;
    string str;
    cin>>n>>str;
    for(int i =0; i <str.size();i++)
    {
        for(int j =1; j<=n; j++)
        {
            str[i]+=1;
            if(str[i]=='z'+1)
            {
                str[i]='a';
            }
        }
    }
    cout<<str;
    return 0;
}

自己看吧。


| 下一页