因此,我编写了一个小型应用程序,它将十进制转换为八进制,并且仅向后输出正确的答案。例如,如果转换的答案为17,则应用程序会将其显示为71。
任何帮助将非常感激。
;
int _tmain(int argc, _TCHAR* argv[])
{
int octal, total = 0;
cout<< "please enter a decimal: ";
cin >> octal;
while(octal > 0)
{
total = octal % 8;
octal /= 8;
cout << total;
}
cout << endl;
_getche();
return 0;
}
最佳答案
您需要求和,然后打印最终结果,例如
int n=0;
while (octal > 0) {
total += (pow(10,n++))*(octal % 8);
octal /= 8;
}
cout << total << endl;
由于首先要打印最小的位,所以仅打印数字将以相反的顺序打印它们。
如评论中所述,以上机制仅适用于转换为小于10的基数。