题目描述 输入一个数字,输出其逗号分隔化表示,即从右往左每 3 3 位添加一个逗号。c++代码
时间: 2024-09-12 20:04:52 浏览: 19
在C++中,要实现一个数字的逗号分隔化表示,可以通过以下步骤实现:
1. 将数字从整数类型转换为字符串,这样可以方便地从右往左遍历数字的每一位。
2. 从字符串的右边开始,每隔三位插入一个逗号,直到到达字符串的最左边。
下面是一个C++代码示例,实现了上述逻辑:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
std::string formatWithCommas(int number) {
std::string numStr = std::to_string(number);
int length = numStr.length();
// 特殊情况:数字小于1000不需要添加逗号
if (length <= 3) {
return numStr;
}
// 计算需要添加逗号的数量
int commasNeeded = (length - 1) / 3;
std::string formatted = numStr;
// 从字符串末尾开始,每隔三个字符插入一个逗号
for (int i = length - 1; i > 0; i--) {
if (commasNeeded > 0 && (length - i) % 3 == 0) {
formatted.insert(i, 1, ',');
commasNeeded--;
}
}
return formatted;
}
int main() {
int number;
std::cout << "请输入一个数字:";
std::cin >> number;
std::string formattedNumber = formatWithCommas(number);
std::cout << "逗号分隔化表示为:" << formattedNumber << std::endl;
return 0;
}
```
这段代码首先读取用户输入的数字,然后调用`formatWithCommas`函数来格式化数字,并输出结果。