【问题描述】对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数
【输入形式】非负十进制整数
【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,提示错误,重新输入
【样例输入】5548
【样例输出】12654
【样例说明】先判断输入是否符合非负正整数要求
【评分标准】
#include<iostream>
#include<vector>
using namespace std;
int main() {
double n;
cin >> n;
int m = n;
//判断是否为非负整数
if (m != n || m < 0)cout << "请输入非负整数";
else {
vector<int>L;
int x, y; //x存放商,y存放余数
while (m > 8) {
x = m / 8;
y = m % 8;
L.push_back(y);
m = x;
}
L.push_back(m);
int j = L.size();
for (int i = 0; i < j; i++) {
cout << L.back();
L.pop_back();
}
}
}