我是先求出数字位数,再从低位往前高位取数字然后逆序输出。
#include<cstdio>
#include<cstdlib>
#include<iostream>
int wc(int i)
{
int m=1;
for(int j=1;j<i;j++)
m*=10;
return m;
}
int wk(int i)
{
int a,b;
a=i;
b=0;
while (a>0)
{
a=a/10;
b++;
}
return b;
}
int main()
{
int n,b,m=0,s[11];
scanf("%d",&n);
if(n<0)
{
n=n*(-1);
printf("-");
}
if(n==0)
{
printf("%d",0);
exit(0);
}
m=wk(n);
int j=n;
for(int i=1;i<=m;i++)
{
s[i]=j%10;
j=j/10;
}
int d;
for(int i=1;i<=m;i++)
{
if(s[i])
{
d=i;
break;
}
}
for(int i=d;i<=m;i++)
{
printf("%d",s[i]);
}
//system("pause");
return 0;
}