【问题标题】:Any idea to exit FOR and print a message退出 FOR 并打印消息的任何想法
【发布时间】:2015-04-01 04:19:54
【问题描述】:
int liContador1, liContador2, liElse = 0;

    for (liContador1 = 1; liContador1 <= liNumeroB; liContador1++)
    {
        for (liContador2 = liContador1 + 1; liContador2 <= liNumeroB; liContador2++)
        {
            if (NumerosAmigos(liContador1, liContador2))
                printf("\n%d, %d", liContador1, liContador2);

            else
                liElse++; **or what can i do?**
        }
    }

    if (liElse != 0)
        printf("\nThe numbers are not friends.\n");

我正在编写一个程序来搜索以前的友好数字到给定的值。程序打印找到的一对号码,但如果没有一对友好的号码,则需要显示一条消息。

问题是我想不出办法。我尝试了 BREAK、continiue、ACCOUNTANTS ..

这就是我正在尝试的:

else
                liElse++;

有人对我该如何解决这个问题有任何想法吗?

问候并感谢大家的帮助!。

【问题讨论】:

  • 循环后需要显示没有找到的数字??我说的对吗?
  • 您想计算找到的友好数字的数量(因此在打印时增加liElse)。如果循环后该数字为零,则打印“这些数字不是朋友”。请注意,最好在输出末尾而不是开头打印换行符。除了其他好处外,它还有助于消息及时出现。
  • 感谢 Jonathan Leffler,我已经修复了它。非常感谢!...

标签: c if-statement for-loop numbers


【解决方案1】:

考虑以下代码,使用一个 BOOL 变量。

int liContador1, liContador2;
bool bBreak = true;
for (liContador1 = 1; bBreak && (liContador1 <= liNumeroB); liContador1++)
{
    for (liContador2 = liContador1 + 1; liContador2 <= liNumeroB; liContador2++)
    {
        if (NumerosAmigos(liContador1, liContador2))
        {
            printf("\n%d, %d", liContador1, liContador2);
        }
        else
        {
            bBreak = false;
            break;
        }
    }
}

if (!bBreak)
    printf("\nThe numbers are not friends.\n");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-20
    • 2015-10-11
    • 2011-06-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多