题目描述
将十进制整数n转换成二进制,并保存在字符数组中,最后输出。要求定义并调用convert()函数, 将十进制整数n对应的二进制数存入字符数组str中。
void convert(int n, char str[]);
输入
输入一个非负整数n,n<2^31。
输出
输出一个01字符串,即n对应的二进制数,不含前导0。输出占一行。
样例输入
13
样例输出
1101
#include <stdio.h>
#include <string.h>
void convert(int n, char str[]);
char str[1000];
int main () {
int n;
scanf("%d",&n);
convert(n,str);
return 0;
}
void convert(int n, char str[]) {
int i=0,a,l;
if(n==0)printf("0\n");
else {
while(1) {
a=n%2;
n/=2;
if(n==0)break;
else if(a==1) {
str[i]='1';
i++;
} else if(a==0) {
str[i]='0';
i++;
}
}
l=strlen(str);
str[l]='1';
while(l!=-1) {
printf("%c",str[l]);
l--;
}
}
}