【C语言】从键盘输入一个十进制整数,将其转换为二进制字符串,输出字符串。
#include <stdio.h>
#include<string.h>
#include<math.h>
#define N 81
int main()
{
int i=0,j;
int sum=0;
char s[N];
char temp1;
int x,temp;
int count=0;
scanf("%d",&x);
do{
temp=x%2;
s[i]=temp+'0';
i++;
x=x/2;
count++;
}while(x!=0);
for(i=0,j=count;i<j;i++,j--)
{
temp1=s[i];
s[i]=s[j];
s[j]=temp1;
}
for(i=0;i<=count;i++)
{
printf("%c",s[i]);
}
return 0;
}
【问题描述】:
从键盘输入一个十进制整数,将其转换为二进制字符串,输出字符串。
【提示】:
(1)定义字符数组s,定义整型变量x;
(2)用2去除x,每除1次得到余数(余数是0或者1),将余数转换为数字字符,保存到数组s中 。直到商为0。
(3)将数组s中的字符串逆序存储。
(4)输出字符串
【样例输入与输出】:
如:输入十进制整数: 13
输出字符串: 1101
如:输入十进制整数: 50
输出字符串: 110010
【小知识点】:
①int类型转换为char
直接在int变量后加上一个’0’; 例如: int a = 10; printf(“%c\n”,a+’0’)
②char转换为int类型
char类型的变量减去一个‘0’; 例如: Char b = ‘5’; Printf(“%d\n”,b-‘0’)*/