本帖最后由 xiaohu1218 于 2013-4-28 11:05 编辑
我用java写的,你可能需要改下函数声明部分,但是思想是一致的,代码如下:
(得先声明一个全局变量len,记录数组实际的长度;
还有数组也是全局变量)
public static void Trans(int num)
{
//System.out.println(num);
int new_num =num;
for(int i = 9; i>=0;i--)
{
int divide = (int)Math.pow(10,i);//获取10的i次方,并将其强制转为整形数据
if(num/divide==0)
continue;
else
{
//len=i;
len +=1;//获取实际数据个数。跟数组长度无关,因为在数组初始化的时候已经定义了长度
if(i!=9)//减去高位中的数据。例如:897,要获取7就要减去800,再减去90,
//每次被除数都会改变
{
int x=(int)Math.pow(10,i+1);
new_num =(int)(new_num-b[i+1]*x);
}
b=new_num/divide; //获取b
//调试代码
/*
System.out.println(x);
System.out.println(new_num);
System.out.println(b);
System.out.println(len);
*/
}
}
for(int j =len;j>0;j--)
System.out.println(b[j-1]);//输出数组
}
|