题目描述输入一个十进制整数n,转换成2、3、7、8进制输出
要求程序定义一个dToK()函数,功能是将十进制数转化为k进制整数,其余功能在main()函数中实现。
void dToK(int n, int k, char str[])
{
//将n转化为k进制数,存入str
}
输入输入一个int范围内的正整数n
输出输出为4行,分别是n对应的2、3、7、8进制数
样例输入13
样例输出1101
111
16
15
#include<stdio.h>
#include<string.h>
void convert(int n, int k);
int main(){
int n;
scanf("%d", &n);
convert(n, 2);
convert(n, 3);
convert(n, 7);
convert(n, 8);
return 0;
}
void convert(int n, int k){
char a[100] = { '\0' };
int i, c = 0, x;
while (n != 0){
a[c] = n%k + '0'; //求出每位数存入字符数组
n /= k;
c++;
}
x = strlen(a);
for (i = x - 1; i >= 0; i--){ //逆序输出
printf("%c", a[i]);
}
printf("\n");
}