CCF NOI1036 进制转换
2019-04-13 14:18发布
生成海报
问题链接:CCF NOI1036 进制转换。
时间限制:
1000 ms 空间限制: 262144 KB
题目描述
模拟将任意给定的正整数n转换成对应的二进制数的过程:对于输入的任意正整数n,输出若干行“shang:* yu:*”的形式,表示其转换过程。
输入
输入正整数n。
输出
输出其转为二进制的过程(具体见样例)。
样例输入
13
样例输出
shang:6 yu:1
shang:3 yu:0
shang:1 yu:1
shang:0 yu:1
数据范围限制
1<=n<=5000
问题分析
这是一个简单的计算商和余数的问题。
这个程序的结果可以清楚看到进制转换的过程。
程序说明
(略)
要点详解
除(/)和取余数(%)运算是关键。使用宏定义可以增加程序的可阅读性和可修改性。程序需要的不是简洁,而是极其简洁。
参考链接:(略)。
100分通过的C语言程序:
#include
#define BASE 2
int main(void)
{
int n, r;
scanf("%d", &n);
while(n) {
r = n % BASE;
n /= BASE;
printf("shang:%d yu:%d
", n, r);
}
return 0;
}
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮