只能使用#include<iostream>,#include<iomanip>
时间: 2024-11-24 15:01:58 浏览: 6
如果你只能使用`<iostream>`和`<iomanip>`这两个头文件,你需要删除`std::stringstream`部分,因为`std::stringstream`用于内部处理字符串流。我们可以直接在控制台打印出每三位加逗号的结果。以下是修改后的`Print`函数:
```cpp
#include <iostream>
#include <iomanip> // 使用iomanip库中的setw()来设置固定宽度
void Print(int N) {
if (N < 0) {
std::cout << "-"; // 添加负号
N = -N;
}
for (int i = 0; i < std::abs(N); ++i) { // 遍历每一位
int digit = N % 10;
std::cout << std::setw(3) << std::right << digit; // 右对齐,每三位设置固定宽度
// 在末尾添加逗号,除了第一位和结束时
if (i % 3 == 2 && i != std::abs(N) - 1) {
std::cout << ",";
}
N /= 10;
}
}
// 示例
int main() {
Print(1234567);
Print(-9876543); // 输入负数
return 0;
}
```
这个版本的`Print`函数直接在控制台上逐位打印数字,每打印完三位就检查是否需要插入逗号。
阅读全文