1141: 进制转换
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3946 Solved: 1179
Submit Status Web Board
Description
将十进制整数n转换成二进制,并保存在字符数组中,最后输出。要求定义并调用convert()函数, 将十进制整数n对应的二进制数存入字符数组str中。
void convert(int n, char str[]);
Input
输入一个非负整数n,n<2^31。
Output
输出一个01字符串,即n对应的二进制数,不含前导0。输出占一行。
Sample Input
13
Sample Output
1101
HINT
Source
#include<stdio.h>
#include<string.h>
int main()
{
char str[40]= {0};
int n,c,i;
scanf("%d",&n);
if(n==0)
{
printf("0\n");
return 0;
}
else
{
convert(n,str);
c=strlen(str);
for(i=c-1; i>=0; i--)
printf("%c",str[i]);
printf("\n");
return 0;
}
}
void convert(int n,char str[])
{
int len=0;
while(n>0)
{
str[len]=n%2+'0';
len++;
n/=2;
}
str[len]='\0';
}