话不多说,直接贴代码:
#include<stdio.h>void fun(int m,int k){ int aa[100],i;char he[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; if (k==2) { for ( i = 0; m; i++){aa[i]=m%k;m=m/k;} for ( i = i-1; i >= 0; i--)printf("%d",aa[i]);//上一个循环最后自加多了一次 printf("n"); } else if(k==16) { for ( i = 0; m; i++){aa[i]=m%k;m=m/k;} for ( i = i-1; i >= 0; i--)printf("%c",he[aa[i]]); printf("n"); } else printf("输入所需转换进制数该程序无法实现n"); }void main(){ int n,j; printf("n请输入一个十进制整数:n"); scanf("%d",&n); scanf("%d",&j); if (j==2) printf("该整数转换为二进制为:n"); if (j==16) printf("该整数转换为十六进制为:n"); fun(n,j);}