如题所述
#include<stdio.h>
void char2bin(char ch)
{if(ch>1)char2bin(ch/2);
printf("%d",ch%2);
}
int main()
{
char c;
printf("请输入一个小写字母:");
scanf("%c",&c);
if(c<'a'||c>'z')
{printf("%c不是小写字母\n",c);
getch();
return -1;
}
printf("%c的八进制:%o\n",c,c);
printf("%c的二进制:",c);
char2bin(c);
printf("\n%c的十进制:%d\n",c,c);
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-02-28
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
/*十进制数转换成二进制数字*/
void fun_10to2(int n)
{
if(n<2)
printf("%d",n);
else
{
fun_10to2(n/2);
printf("%d",n%2);
}
}
/*十进制数字转换成八进制数字*/
void fun_10to8(int n)
{
if(n<8)
printf("%d",n);
else
{
fun_10to8(n/8);
printf("%d",n%8);
}
}
int main()
{
char s[100];
int a;
printf("请输入一个16进制数(0-9,a-b)\n");
scanf("%s",s);
/*得到10进制数*/
sscanf(s,"%x",&a);
/*输出10进制数*/
printf("\n10进制数:%d",a);
/*输出8进制数*/
printf("\n8进制数:");
fun_10to8(a);
/*输出2进制数*/
printf("\n2进制数:");
fun_10to2(a);
printf("\n");
return 0;
}
#include<conio.h>
#include<stdlib.h>
/*十进制数转换成二进制数字*/
void fun_10to2(int n)
{
if(n<2)
printf("%d",n);
else
{
fun_10to2(n/2);
printf("%d",n%2);
}
}
/*十进制数字转换成八进制数字*/
void fun_10to8(int n)
{
if(n<8)
printf("%d",n);
else
{
fun_10to8(n/8);
printf("%d",n%8);
}
}
int main()
{
char s[100];
int a;
printf("请输入一个16进制数(0-9,a-b)\n");
scanf("%s",s);
/*得到10进制数*/
sscanf(s,"%x",&a);
/*输出10进制数*/
printf("\n10进制数:%d",a);
/*输出8进制数*/
printf("\n8进制数:");
fun_10to8(a);
/*输出2进制数*/
printf("\n2进制数:");
fun_10to2(a);
printf("\n");
return 0;
}
第2个回答 2012-02-28
#include"stdio.h"
main()
{char a;
printf("输入任意一小写字母:");
a=getchar();
printf("%d\n%o\n%x\n",a,a,a);
}
可以输入任意小写字母输出十进制、八进制和十六进制,输出二进制的方法还没找到本回答被网友采纳
main()
{char a;
printf("输入任意一小写字母:");
a=getchar();
printf("%d\n%o\n%x\n",a,a,a);
}
可以输入任意小写字母输出十进制、八进制和十六进制,输出二进制的方法还没找到本回答被网友采纳
第3个回答 2012-02-28
#include<stdio.h>
void main()
{
char ch;
scanf("%c",&ch);
printf("ch=%X,ch=%o\n",ch,ch);
}
十六进制和八进制数的转换,就是这个形式,我已经编译测试过了,可能通过,二进制的数转换我再想想办法!希望能够帮到你
以下是a转化为二进制的方法:
#include <stdio.h>
int main()
{
int a, j,i=0,bin[32];
scanf("%d",&a);
while(a>0)
{
bin[i]=a%2;
a/=2;
i++;
}
for( j=i-1;j>=0;j--)
{
printf("%d",bin[j]);
}
}
void main()
{
char ch;
scanf("%c",&ch);
printf("ch=%X,ch=%o\n",ch,ch);
}
十六进制和八进制数的转换,就是这个形式,我已经编译测试过了,可能通过,二进制的数转换我再想想办法!希望能够帮到你
以下是a转化为二进制的方法:
#include <stdio.h>
int main()
{
int a, j,i=0,bin[32];
scanf("%d",&a);
while(a>0)
{
bin[i]=a%2;
a/=2;
i++;
}
for( j=i-1;j>=0;j--)
{
printf("%d",bin[j]);
}
}
第4个回答 2012-02-28
%c 字符输出
%d 十进制输出
%x 十六进制输出
%o 八进制输出
二进制的找算法换算一下输出
%d 十进制输出
%x 十六进制输出
%o 八进制输出
二进制的找算法换算一下输出