我需要输入一个如下数字:200939915
执行此操作后,我知道如何操作,我需要删除第一个数字,使其成为:00939915
这样做的最佳方式是什么?
答案 0 :(得分:7)
char *c = "200939915";
char *d = c + 1;
答案 1 :(得分: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;
}
显然,因为您希望将其更改为std::cin
至scanf
(或其他)和std::cout
至printf
(或其他)。请记住,如果你想让两个00保持在数字的左侧,凯恩的答案就是你应该做的。干杯
答案 2 :(得分:0)
另一种方法,虽然我喜欢Matt Kane最好的方法:
unsigned long n = 42424242;
n = n % (unsigned long)pow(10.0, (double)floor(log10(n)));
// n = 2424242;