【问题标题】:C code help, loops and sum of multiplesC 代码帮助、循环和倍数之和
【发布时间】:2016-06-28 01:16:39
【问题描述】:

我被困住了,我可以换一双眼睛。

这是一个问题: 创建一个循环来计算 100 到 500 之间的 8 的倍数的总和。输出总和。

这是我的代码

我的问题是,如果我说... while (multiple > 100 && multiple

我不明白为什么它不让我说 while (multiple > 100 && multiple

任何帮助将不胜感激。

int number = 8, count = 1, multiple = 0, sum = 0;
while (multiple < 500) {
    multiple = number * count;
    count = ++count;
    printf("Your multiple is: %i \n", multiple);

}

sum = multiple * count;
count = ++count;
printf("Your sum of the multiples are: %i \n", sum);


system("pause");

【问题讨论】:

  • 这是一个很好的第一个问题。你已经解释了你想要做什么,你遇到的问题,并包含了相关的代码,所有这些都不需要被要求。我希望更多的新用户通过这种努力来把事情做好。谢谢!
  • count = ++count; 提示:序列点。
  • 你希望count = ++count; 做什么?

标签: c loops


【解决方案1】:

它不会让你说while(multiple &gt; 100),因为multiple从0开始。你永远不会进入循环。

你想要:

while (multiple < 500) {
    multiple = number * count;
    count = ++count;
    if (multiple > 100) {
        printf("Your multiple is: %i \n", multiple);
    }
}

【讨论】:

  • @nhouser9 如果是蛇,它会咬我。谢谢
  • @ken white 是的,我明白我现在做了什么。这是漫长的一天,我为错过初始化为 0 的问题感到愚蠢。
  • @DavidSchwartz:两者都不是零,但这无关紧要。为什么从零开始? (你是对的;它应该从 100 以下开始,但仍然不是零。)
  • @David:在 100 到 500 之间,零不是 8 的倍数,除非我对现代数学已经过时了。
【解决方案2】:

您好,简单的答案是如果您只是初始化 count =101; 代码将正常运行,您将得到正确答案,因为您需要 100 到 500 之间的总和。

为什么要浪费一些您不想要的处理时间。

【讨论】:

  • 完全错了 - 这将打印“101, 109”等。打印的数字都不是 8 的倍数。
猜你喜欢
  • 1970-01-01
  • 2014-11-30
  • 2011-07-24
  • 2023-03-24
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多