计算从输入的两个整数a到b之间所有数字中包含数字2的个数(c++)
时间: 2024-09-20 18:18:05 浏览: 53
在C++中,你可以编写如下的代码来计算从输入的两个整数`a`到`b`之间所有数字中包含数字2的个数:
```cpp
#include <iostream>
using namespace std;
int countNumbersWithTwo(int a, int b) {
int count = 0;
for (int i = a; i <= b; ++i) {
if (std::any_of(std::begin(i), std::end(i), [](char c) { return c == '2'; })) {
count++;
}
}
return count;
}
int main() {
int start, end;
cout << "请输入起始数字a: ";
cin >> start;
cout << "请输入结束数字b: ";
cin >> end;
if (start >= end) {
cout << "开始数字不能大于或等于结束数字,已自动调整。\n";
swap(start, end);
}
int result = countNumbersWithTwo(start, end);
cout << "从" << start << "到" << end << "之间包含数字2的个数是: " << result << endl;
return 0;
}
```
这个程序定义了一个名为`countNumbersWithTwo`的函数,它接受两个整数作为参数,然后遍历这个范围内的每个数字,使用`std::any_of`和lambda表达式检查每个数字是否包含字符'2'。`main`函数负责获取用户的输入并调用该函数。
阅读全文