【问题标题】:URI Online Judge | 1759 Ho Ho HoURI 在线裁判 |第1759章 嗬嗬嗬
【发布时间】:2017-01-24 21:59:02
【问题描述】:

你好,这是我对 uri 1759 的解决方案

#include <stdio.h>
int main()
{
    int i,j;
    scanf("%d", &i);
    for (j=1;j<=i;j++)
    {
        printf("Ho ");

        while (j==i)
        {
            printf("\b");
            printf("!");
            break;
        }
    }
    return 0;
}

我不知道我做错了什么..你能帮帮我吗?问题的链接https://www.urionlinejudge.com.br/judge/en/problems/view/1759

【问题讨论】:

  • "can you please help me?" - 不是没有你所面临的问题的描述和演示问题的代码,没有。
  • 打印退格是错误的答案。法官没有说要为终端伪造它,但会重定向您的确切输出并根据正确答案检查它,其中不包含任何\b。您必须在每个Ho 之后打印一个字符,并且该字符是space!。因此,您可以为第一个循环设置该字符并为最后一个循环更改它。或者,您可以在除第一个循环之外的所有循环上输出一个空格,以! 结尾。但由于这是一个挑战,我不会给你任何代码。
  • 非常感谢!明白了

标签: c uri


【解决方案1】:

您的解决方案可能看起来正确,它与所需的输出不相同,因为您通过插入退格键删除了尾随空格。所以,解决方案是重新设计你的逻辑以避免必须删除尾随空格。我不建议真正使用的一种方法是这样的:

#include <stdio.h>
int main()
{
    int i,j;
    scanf("%d", &i);
    for (j=1;j<=i;j++,printf("Ho%s",(j>i)?"!":" "));
    return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    相关资源
    最近更新 更多