代码不采用数组可以得到正确结果,但采用数组不知道哪里表达不对,便会报错。请各位指正!
(每位的结果要依次存入数组,可以反序存,只需输出时结果为正序即可)
#include<stdio.h>
#include<math.h>
#define MAX 100
int main(){
/
int a,n,base,i,j,num;
int A[MAX];
i = 0;
base =1;
A[0] = 0;
printf("请输入待转换的十进制数:\n");
scanf("%d",&a);
printf("请输入要转换进制数:\n");
scanf("%d",&n);
while (a>0){
A[i]= A[i] + base*(a%n);
base = base*10;
a = a/n;
num = ++i;
}
// 这样运行可以得到正确结果,但结果会只存在A[0]里,并非按位存储于数组中
// while (a>0){
// A[i]= A[i] + base*(a%n);
// base = base*10;
// a = a/n;
// }
for(j=num;j>=0;j--){
printf("%d",A[j]);
}
}