如何删除某个特定数字之前的所有数字

时间:2017-01-15 08:07:38

标签: c++

如何在找到特定数字之前从数字中删除所有数字。 假设我想要在数字1(包括1)之后得到所有数字

示例:3543125 - 我想获得数字125

我开始这样做了:

int n, result;
    cout << "Please enter number: ";
    cin >> n;
    while (n>0)
    {
        n = n % 10;
    }

获取最后一位数字,但我不知道如何将其保存在变量中,然后将第二位数字添加到变量中。

有人可以解释一下,我该如何解决?

2 个答案:

答案 0 :(得分:3)

这是一个我没有测试它的算法,但它只能用于循环和if}

int num = 3543125;
int temp = 0;
do             //get the result in reverse number
{
    temp += num % 10;
    temp *= 10;
    num /= 10;
    if (num % 10 == 1)
        temp += 1;

} while (num % 10 != 1);    
int result = 0;
while (temp > 0)   //reverse the temp number to result
{
    result = result * 10 + (temp % 10);
    temp = temp / 10;
}
cout << result;  // = 125

答案 1 :(得分:0)

试试这个。 (太简单:-))

 #include <math.h>
    int n,a, result=0;
        cout << "Please enter number: ";
        cin >> n;
        cout << "Please enter number of digits: ";
        cin >> a;
        int b=a;
        while(b>0) {
             result += n%10 * pow(10,a-b--);
             n=n%10;
        }
        std::cout<<"result: "<<result;