关于一维数组的问题,将十进制数转化为任意进制的数
小弟初学,遇到问题如下。题目:将用户输入的十进制数转换成任意进制的数。
(算法分析:进制之间转化采用辗转相除法。由用户输入十进制数(用n表示),以及要转化的进制(用变量base表示),然后将转换的结果存储在一维数组num【32】中。)
题中所给程序如下:
#include<stdio.h>
void main()
{
int i=0,base,num[32];
long int n; char c;
printf("Input number:");
scanf("%ld",&n);
printf("Input base:");
/*请将此处代码补充完整*/
}
小弟编写程序如下:(和题目中所给出的程序段有所不同)
#include <stdio.h>
void main()
{
int i=0,base,num[32],j;
long int n;
printf("Input number:");
scanf("%ld",&n);
printf("Input base:");
scanf("%d",&base);
for(;num[i]!=0;i++)
{
num[i]=n%base;
n=n/base;
}
for(j=i-1;j>=0;j--)
printf("%d",num[j]);
}
C语言不报错,但在运行时总出现错误,望各位能帮忙留神一下,帮小弟解决发现问题,解决这个问题。您的指点将帮助小弟在变成之路上越走越远!谢谢!!!
[ 本帖最后由 咚呱咚呱 于 2010-5-6 20:58 编辑 ]