1141: 进制转换
时间限制: 1 Sec 内存限制: 128 MB
提交: 11523 解决: 4446
[状态] [讨论版] [提交] [命题人:admin]
题目描述
将十进制整数n转换成二进制,并保存在字符数组中,最后输出。要求定义并调用convert()函数, 将十进制整数n对应的二进制数存入字符数组str中。
void convert(int n, char str[]);
输入
输入一个非负整数n,n<2^31。
输出
输出一个01字符串,即n对应的二进制数,不含前导0。输出占一行。
样例输入 Copy
13
样例输出 Copy
1101
#include <stdio.h>
// 函数原型声明
void convert(int n, char str[]);
// 进制转换
int main() {
int n;
char str[10000];
scanf("%d", &n);
convert(n, str);
return 0;
}
// 函数实现十进制转换为二进制
void convert(int n, char str[]){
int i = 0, j = 0;
if(n == 0)
printf("0");
while(n > 0){
str[i++] = n % 2 + '0';
n /= 2;
}
for(j = i - 1; j >= 0; j--)
printf("%c", str[j]);
}