首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Hackerrank(获得不同的输出)中,C有什么不同吗?

在Hackerrank(获得不同的输出)中,C有什么不同吗?
EN

Stack Overflow用户
提问于 2015-02-28 17:23:42
回答 1查看 357关注 0票数 0

我一直在尝试做Hackerrank上的情书神秘挑战。以下是规则:https://www.hackerrank.com/challenges/the-love-letter-mystery

我的解决方案是:

代码语言:javascript
运行
复制
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#define MAX 1000

int check_palindrome(char *A)
{
    int i = 0, j;
    while(A[i])
        i++;

    i -= 1;

    for(j = 0; j <= i; j++)
    {
        if(A[j] != A[i - j])
            return 0;
    }
    return 1;
}

int love_letter(char *A)
{
    int i = 0;
    int j;
    int times;
    while(A[i])
        i++;

    i -= 1;

    if(i == 0)
        return 0;

    if(check_palindrome(A))
        return 0;

    for(j = i; j >= 0; j--)
    {
        while(A[j] != 'a')
        {
            if(check_palindrome(A))
                return times;
            else
            {
                A[j] -= 1;
                times += 1;
            }
        }
    }
    return times;
}

int main() {

    int t, i;
    char a[MAX];
    scanf("%d", &t);
    for(i = 0; i < t; i++)
    {
        scanf("%s", a);
        printf("%d\n", love_letter(a));
    }
    return 0;
}

在我的电脑上测试时,我得到了正确的输出。但是,当我试图在Hackerrank上运行代码时,它会告诉我们,我的程序总是提供如下的输出:

代码语言:javascript
运行
复制
0
0
0
0

当然,这是错误的,而且它失败了。但这是为什么?C有什么不同吗?还是只是网站出了问题?还是用我的密码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-28 17:33:46

至少,您似乎忘记初始化变量“时间”。

在实际的算法中,请记住,要使字母匹配,您可以减少(或两者)之一。我不认为你能处理好所有的案子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28784648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档