给定在印度数字系统中由数字和分隔符(,)组成的输入字符串N ,任务是在基于国际数字系统放置了分隔符(,)之后打印该字符串。
例子:
Input: N = “12, 34, 56, 789”
Output: 123, 456, 789
Input: N = “90, 05, 00, 00, 000”
Output: 90, 050, 000, 000
方法:
- 从字符串删除所有分隔符(,)。
- 从字符串的末尾进行迭代,并在每第三个数字后放置一个分隔符(,)。
- 打印结果。
下面是上述方法的实现:
C++
// C++ Program to convert
// the number from Indian system
// to International system
#include
using namespace std;
// Function to convert Indian Numeric
// System to International Numeric System
string convert(string input)
{
// Length of the input string
int len = input.length();
// Removing all the separators(, )
// From the input string
for (int i = 0; i < len; i++) {
if (input[i] == ',') {
input.erase(input.begin() + i);
len--;
i--;
}
}
// Initialize output string
string output = "";
int ctr = 0;
// Process the input string
for (int i = len - 1; i >= 0; i--) {
ctr++;
output = input[i] + output;
// Add a separator(, ) after
// every third digit
if (ctr % 3 == 0 && ctr < len) {
output = ',' + output;
}
}
// Return the output string back
// to the main function
return output;
}
// Driver Code
int main()
{
string input1 = "12,34,56,789";
string input2 = "90,05,00,00,000";
cout << convert(input1) << endl;
cout << convert(input2) << endl;
}
输出:
123,456,789
90,050,000,000
相关文章:将数字从国际系统转换为印度系统