#include <stdio.h>
/*非负十进制转换为八进制*/
void toOct(int input) {
int result[10],index=0;
int next = 1,oct,deal=input;
while(deal != 0){
next = deal/8;
/*判断下一个运算数是否小于8,如果小于8就跳出*/
if(next == 0){
result[index]=deal%8;
break;
}
oct = deal%8;
/*给运算数赋值*/
deal = next;
/*入栈*/
result[index]=oct;
index++;
}
printf("%d转换为八进制为:",input);
/*出栈,输出转换结果*/
for (int i = index; i >=0 ; i--)
{
printf("%d",result[i] );
}
printf("\n");
}
int main(){
printf("请输入一个非负整数\n");
int input;
scanf("%d",&input);
toOct(input);
return 0;
}
结果