林惜城


私信TA

用户名:reminder

访问量:27455

签 名:

等  级
排  名 94
经  验 8468
参赛次数 0
文章发表 95
年  龄 0
在职情况 学生
学  校 西安电子科技大学
专  业

  自我简介:

哈姆

TA的其他文章

1075: 台球碰撞
浏览:1264
1076: 内部收益率
浏览:444
1083: Hello, world!
浏览:245

解题思路:

十进制转n进制的计算方法:每次除n取余,一直除到0为止,余数从后往前排列就是n进制的表示。


注意事项:

memset()的头文件,每次都要吃一个编译错误才想起来加。


参考代码:

// 题目 1055: 二级C语言-进制转换
#include <iostream>
#include <cstring>

using namespace std;

const int maxSize = 20; // 八进制最大位数
void trans(int num); // 十进制转八进制输出
int main() {
	int num = 0; // 十进制数
	cin >> num;
	trans(num);
	return 0;
}

void trans(int num) {
	int res[maxSize]; // 存储八进制的各位数
	memset(res, 0, maxSize);
	int i = 0;
	while (num) {
		res[i++] = num % 8;
		num /= 8;
	}
	for (int j = i - 1; j >= 0; j--) {
		cout << res[j]; // 打印
	}
	cout << endl;
}


 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区