【问题标题】:How find the count integers that are divisible by 7 in the given range using only While loop [closed]如何仅使用While循环找到给定范围内可被7整除的计数整数[关闭]
【发布时间】:2020-06-16 01:53:26
【问题描述】:

---如何编写一个程序来获取 A 和 B 输入,并且 [A, B] 范围内的数字将被 7 整除而没有余数......在 C++ 中使用 while 循环......---

例如:

输入数据:7 13

控制台结果:1

输入数据 5 21

控制台结果:3

输入数据 -8 -5

控制台结果:1


带有 for 循环的 C++ 代码示例

int main() {

int a, b,i,count;

输入 >> a >> b;

计数 = 0;

for(i = a; i

如果(i % 7 == 0)

计数++

}

}

【问题讨论】:

  • 您能解释一下您在解决这个问题时遇到的困难吗?你试过什么?
  • 也许只选择一种语言。
  • 嗯,您需要做出的第一个决定是您将使用哪种语言编写此程序,C++ 还是 Javascript。您为您的问题使用了这两个标签。
  • “输入>> a >> b”中的“输入”是什么?一切似乎都很好,但我不确定那应该做什么。这是伪代码还是您的实际代码?你的编译器说是什么问题?
  • 这是伪代码,我需要用while循环写这段代码

标签: c++ c++11 c++14 c++17


【解决方案1】:

我不确定这是伪代码还是实际代码,但我在这里看到的主要错误是您使用了“输入”,我不确定它应该是什么。请参见以下示例:

#include <iostream>
using namespace std;


int main() {
    int count=0;
    int a = 0;
    int b = 0;
    cin >> a >> b;
    for(int i = a; i <= b; i++) {
        if(i % 7 == 0) {
            count++;
        }
    }
    cout << count;
}

我将您的“输入”替换为“cin”。然后,我添加了“count”变量的输出,以便我们可以看到结果。

现在,要更进一步并使用 while 循环,您只需要手动计数:

#include <iostream>
using namespace std;


int main() {
    int count=0;
    int a = 0;
    int b = 0;
    cin >> a >> b;
    while (a <= b) {
        if (a % 7 == 0) {
            count++;
        }
        a = a +1;
    }
    cout << count;
}

所以,我们只需要说,当 a 小于或等于 b 时,做和以前一样的事情。但是,请确保增加 a,否则您的循环将永远持续下去!

【讨论】:

  • 我不确定我是否理解您的评论。
  • 非常感谢!!!你帮了我很多!!!
【解决方案2】:

就伪代码而言,一切都是正确的。是否要包含负数?

不管怎样,我也在数负数。


#include <iostream>

int main()
{
    int a, b, i, count = 0;
    std::cin >> a >> b;
    i = a;
    while (i <= b)  // While loop
    {
        if (i % 7 == 0)
        {
            count++;
        }
        i++;
    }
    std::cout << "Count: " << count << "\n";
    return 0;
}

【讨论】:

  • 非常感谢,但我需要用 While 循环编写相同的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2022-12-18
相关资源
最近更新 更多