64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
#include <math.h>
class Num
{
public:
Num(int a);
int reserve() const;
int value() const;
int subNum(int b, int e) const;//分割整数
private:
int _a;
};
Num::Num(int a):_a(a){}
int Num::value() const
{
return _a;
}
int Num::reserve() const
{
int ra = 0;
int a = _a;
do
{
ra *= 10;
ra += a%10;
}while((a/=10)!=0);
return ra;
}
int Num::subNum(int b, int e) const//个位是0,十位是1 ,以此类推
{
if(b>e || b<0 )return 0;
int n = _a;
n %= (int)pow(10.0, e+1.0);
n /= (int)pow(10.0, b);
return n;
}
int main()
{
Num n(123456789);
cout<< n.value() <<endl
<< n.subNum(2,4)<<endl
<< n.reserve()<<endl
<< Num(n.subNum(2,4)).reserve() <<endl;
return 0;
}
int a = 12345678;
//如何将它拆分为
int b = a/10000; //1234;
int c = a/100%100; // 56;
int d = a%100; // 78;
//然后就是倒序下变成
int e = a%10 *10000000
+a%100 /10 *1000000
+a%1000 /100 *100000
+a%10000 /1000 *10000
+a%100000 /10000 *1000
+a%1000000 /100000 *100
+a%10000000/1000000 *10
+a/10000000; // 87654321;
int a = 1357965482;
long long b,sum=0;
while(a!=0)//倒序
{
b = a%10;
a = a/10;
sum = sum*10+b;
};
截取也差不多这样把每一位给取出来int a=12345678;
int b=a/10000;//1234
int c=a%10000;//5678
int d=c%100;//78
c=c/100;//56
int e=0;
while(a>0)
{
e=e*10;
e=e+a%10;
a=a/10;
}