c++从键盘输入数行数据,每行三个正整数n1、n2和n3,三个0表示输入结束。每输入完一行,输出n1 和n2之间(包括n1 和n2)能被n3 整除的数的个数。 要求用一个函数实现统计整除数个数的功能,其首部为: int aliquot(int n1, int n2, int n3)
时间: 2023-12-03 11:44:07 浏览: 111
输入一个正整数,判断是不是素数(C++)
下面是一个实现该功能的C++代码:
```cpp
#include <iostream>
using namespace std;
int aliquot(int n1, int n2, int n3) {
int count = 0;
for (int i = n1; i <= n2; i++) {
if (i % n3 == 0) {
count++;
}
}
return count;
}
int main() {
int n1, n2, n3;
while (cin >> n1 >> n2 >> n3 && (n1 || n2 || n3)) {
cout << aliquot(n1, n2, n3) << endl;
}
return 0;
}
```
首先,我们定义了一个 `aliquot` 函数,该函数接收三个整数参数 `n1`、`n2` 和 `n3`,表示要统计的区间范围和整除数。函数内部使用一个循环遍历区间中的每个数,如果该数能被 `n3` 整除,则将计数器加一。最后返回计数器的值。
在 `main` 函数中,我们使用一个 `while` 循环不断从键盘输入数据,直到输入的三个数都为 0 为止。每次输入完一行数据,就调用 `aliquot` 函数统计该区间内能被 `n3` 整除的数的个数,并输出结果。
注意,我们在读入数据时,使用了一个逻辑与运算符 `&&`,将两个条件连接起来,以便在输入的三个数中有一个为 0 时就停止输入。
阅读全文