我需要输入一个数字,例如:200939915。
在输入后,我需要移除第一个数字,使其变为:00939915。
最好的方法是什么?
char *c = "200939915";
char *d = c + 1;
我可能会招来投票者,但这是我会做的:
#include <iostream>
#include <math.h>
int main()
{
int number;
std::cin >> number;
int temp = number;
int digits = 0;
int lastnumber = 0;
while(temp!=0)
{
digits++;
lastnumber = temp % 10;
temp = temp/10;
}
number = number % (lastnumber * (int)pow(10,digits-1));
std::cout << number << std::endl;
return 0;
}
显然,由于您想要使用C语言,将std::cin
更改为scanf
(或其他)并将std::cout
更改为printf
(或其他)。但请记住,如果您希望数字左侧保留两个00,则应执行Kane的答案。干杯!
nCopy
)来代替我们的原始整数。然后计算数字个数直到个位数。例如n=1234
,在while循环内部,它迭代了3次。所以count=3
。1
),因为循环条件是n>10
。然后我们使用pow
函数并计算103 = 1000。然后从别名中减去它,1234-1000 = 234。最后将该值复制到原始整数。#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n; cin >> n;
int nCopy = n;
int count = 0;
while(n>10){
n/=10;
count ++;
}
nCopy -= (n * pow(10, count));
n = nCopy;
cout << n;
return 0;
}