如何在找到特定数字之前从数字中删除所有数字。 假设我想要在数字1(包括1)之后得到所有数字
示例:3543125 - 我想获得数字125
我开始这样做了:int n, result;
cout << "Please enter number: ";
cin >> n;
while (n>0)
{
n = n % 10;
}
获取最后一位数字,但我不知道如何将其保存在变量中,然后将第二位数字添加到变量中。
有人可以解释一下,我该如何解决?
答案 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;