如何在给定整数后找到零

How to find zeroes after given integer?

本文关键字:整数      更新时间:2023-10-16

简介:我正在C++制作一个程序,我必须在给定的一些 html 代码中找到标题标签的级别号,并在数字之后打印字符串(在开始和结束标签之间)。我已经能够完成除以所需格式写入输出之外的所有部分。

所以问题是如何在任何整数之后删除零,假设你不知道它最后有多少个零

例如:

我的输出

100000 : 嗨

210000 : 您好

101000 : 这个

200000 : 那

312000 : 结束

正确输出:

1:嗨

2.1: 你好

1.0.1: 这个

2:那

3.1.2: 结束

谁能告诉我如何删除这些数字后面的零并在每个数字之间放置句点?

这当然不是最有效的,但它有效:

#include <iostream>
#include <algorithm>
#include <sstream>
using namespace std;
string remzero_adddot(int x) {
    while(x%10==0)
        x /= 10;
    stringstream ss;
    ss << x%10;
    x /= 10;
    while(x) {
        ss << "." << x%10;
        x/=10;
    }
    string result = ss.str();
    reverse(result.begin(), result.end());
    return result;
}
int main() {
    cout << remzero_adddot(100000) << endl;
    cout << remzero_adddot(210000) << endl;
    cout << remzero_adddot(101000) << endl;
    cout << remzero_adddot(200000) << endl;
    cout << remzero_adddot(312000) << endl;
}