#include"stdio.h"
void zhuanhuan(int x,int d)
{ int t=0,i=0,j;
char aa[20];
while(x>0)
{ t=x%d;
if(t<10)
else
x=x/d;
}
printf("对应的%d进制数是:",d);
for(j=i-1;j>=0;j--)
{
printf("%c",aa[j]);
}
printf("\n");
}
main()
{ int x,d;
printf("请输入要转换的进制:");
scanf("%d%d",&x,&d);
zhuanhuan(x,d);
}
主函数中输入的变量x和d的顺序与题目中的要求不符。
子函数中的t=x%d;和x=x/d;可以用来实现十进制转其他进制的转换,但是其他进制转十进制还需要其他操作。
子函数中的if-else条件未完成,需要在if和else中编写对应的操作。
子函数中的输出部分也需要编写,确保最终结果能够输出。
#include<stdio.h>
void zhuanhuan(int x,int d)
{
int t=0,i=0;
char aa[20];
while(x>0)
{
t=x%d;
aa[i]=t<10 ? t+'0':t-10+'A';
x=x/d;
i++;
}
printf("对应的%d进制数是:",d);
for(int j=i-1;j>=0;j--)
{
printf("%c",aa[j]);
}
printf("\n");
}
int main()
{
int x,d;
printf("请输入十进制数和要转换的进制:");
scanf("%d%d",&x,&d);
zhuanhuan(x,d);
return 0;
}