你写的这个程序本身是没有错误的,运行结果也正确。如果有错,那就可能是对题目的理解有误,题目可能是希望你写一个函数来实现这个功能。而你这个程序只是简单的利用了printf函数的格式控制。
下面写的是一个将十进制数转换为八进制数输出的函数,十六进制类似。进行函数调用就可以了。希望可以帮到你。
void decToOCT(int num)
{
int i,a,j;
char s[8];
j=0;
if(num==0) {s[j]='0';j++;}
for(i=num;i>0;i=i/8)
{
a=i%8;
s[j]=a+'0';
j++;
}
s[j]='\0';
printf("to OCT:");
for(i=strlen(s);i>=0;i--)
printf("%c",s[i]);
printf("\n");
}
追问我这个输负数的时候好像就不得行,题目没有要求用函数。谢谢哈