输入任意两个整数a,b,如果a*a+b*b大于100,则输出a*a+b*b百位(包括百位)以上的数字,否则输出两数之和
时间: 2024-10-22 10:06:53 浏览: 21
要实现这个功能,你需要编写一个C++程序,首先计算a的平方加上b的平方,然后根据结果决定如何输出。如果结果大于100,提取百位以上的数字;否则,直接输出两数之和。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string extract_digits(int num) {
std::ostringstream oss;
oss << num; // 将数值转换为字符串
return oss.str();
}
int main() {
int a, b;
std::cout << "请输入两个整数a和b: ";
std::cin >> a >> b;
int sum_of_squares = a * a + b * b;
if (sum_of_squares > 100) {
// 提取百位以上的数字
std::string str_sum = std::to_string(sum_of_squares);
std::string result = str_sum.substr(str_sum.find_last_of("0") + 1);
std::cout << "百位以上的数字: " << result << std::endl;
} else {
// 输出两数之和
std::cout << "两数之和: " << a * a + b * b << std::endl;
}
return 0;
}
```
在这个程序中,我们首先使用`extract_digits`函数将整数转换成字符串,然后使用`substr`函数找到最后一个非零字符的位置(即百位后的位置),并提取出来。
如果你运行这个程序,按照提示输入两个整数a和b,它将根据条件进行相应的输出。如果你有其他关于这段代码的问题或需要进一步的解释,请告诉我。
阅读全文