C语言输入小写字母输出八进制,二进制,十进制

如题所述

#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;
}
第2个回答  2012-02-28
#include"stdio.h"
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]);
}
}
第4个回答  2012-02-28
%c 字符输出
%d 十进制输出
%x 十六进制输出
%o 八进制输出

二进制的找算法换算一下输出

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网