C语言, 怎么输入八进制数

从键盘上输入两个八进制数,计算两数之和分别用十进制和十六进制输出
写出来了 谢谢

C语言中scanf()函数支持输入整数时按8进制进行输入,如:

#include <stdio.h>
void main(void)
{
int x;
scanf("%o", &x ); //按8进制输入
printf("hex:%#X, dec:%d, oct:%#o\n", x,x,x ); //按16进制 10进制 8进制进行数据输出
}

scanf()函数还支持按16进制输入,格式串为:%x

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-23
从键盘上输入的,电脑并不能判断它是几进制,完全由你的程序代码来控制。每当从键盘输入一个数,你用程序代码将其转换为十进制储存,做了和之后再处理成十六进制就行了。本回答被提问者采纳
第2个回答  2009-03-23
输入后都转换成 10 进制就完了呗, 然后以10进制相加 这样不是简单多了
第3个回答  2015-09-10
scanf("%o",&x);

printf("%o\n",x);

C语言, 怎么输入八进制数
C语言中scanf()函数支持输入整数时按8进制进行输入,如:include <stdio.h>void main(void){int x;scanf("%o", &x ); \/\/按8进制输入printf("hex:%#X, dec:%d, oct:%#o\\n", x,x,x ); \/\/按16进制 10进制 8进制进行数据输出} scanf()函数还支持按16进制输入,格式串为:%x ...

c语言如何输出八进制?
1,C语言没有直接输出二进制的方法。2,八进制在输出的时候以0开头,例如:0123十进制的83 3,十进制正常输出,无特别表示。4,十六进制在输出的时候以0X或者0x开头,例如0x123 十进制的291。

C语言,如何输出有符号的八、十六进制数?
int a =10;printf("%d,%x,%o",a,a,a,);\/\/第一个是十进制,第二个是十六进制,第三个是八进制 } 如果有不明白加我百度HI

c语言;从键盘输入一个8进制数和一个16进制的数 ,用十进制形式输出他们的...
用scanf进行格式化的输入,用%o来标记八进制数,%x来标记十六进制数,读取到一个足够长的变量就可以了,然后直接相加,然后再输出。include <stdio.h> int main(int argc,char**argv){ int a,b,c;scanf("%o %x",a,b);c=a+b;printf("%d",c);getchar();return ;} ...

c语言八进制输入的问题
根据你程序中scanf("%d,%o",&a,&b);这句语句,你的输入格式应该是:M(一个十进制数),N(一个八进制数)(回车)M中各位数值的范围要求0-9N中各位数值的范围要求0-7对于N,我进一步说明一下:它是从第一位开始识别提取,直到第一个非0-7的数。例如:对于N,如果输入07328123(则实际赋给...

输入一个八进制数,输出其后四位,C语言
{ int a;printf("请输入一个八进制数:");scanf("%o", &a); \/\/%o是输入8进制 printf("结果是:");printf("%03o\\n", a&15); \/\/15是二进制1111 return 0;} 运行:求补码这个看图应该是16位的补码,也就是对65536求补 include<stdio.h> int main(){ int a;printf("请输入一...

c语言 输入一个8进制数,这是一个编码值,然后显示输入的数值,和他的字符...
默认输出8进制是不带前缀的,你可以改成:printf("这个八进制编码是 %#o ,字符是 %c.\\n", d, d); \/\/加#标识符,会在数据前面加个0,以表示8进制。但如果你输入的是00100,实际存到d中的也只是100,用你的代码输出是100,用上面改过之后的代码输出是0100 ...

用C语言编写程序,从键盘输入两个八进制数,计算两数之和并分别用十进制...
include "stdio.h"void main(){ int a,b;printf("请输入2个八进制数:");scanf("%o %o",&a,&b);printf("a+b = %d(十进制)\\n",a+b);printf("a+b = %x(十六进制)\\n",a+b);}

C语言中如何把数字用八进制和十六进制表示出来,要用程序写出来_百度知 ...
八进制字面常量记写法以0开头,十六进制以0x开头,于整数类型存储,可以调用标准输出函数分别用转换说明%O\/%o、%X\/%x输出它们的值表示。int value = 10;printf("%d = 0%o,0xd%x\\n", value, value, value);printf("%d,%d\\n", 0x123ABC, 027);int ov = 077;unsigned int hv = 0xBC;printf...

请问用C语言编写一个十进制转换成二进制或八进制或十六进制的程序需要...
voidmain(){ \/\/进制转换函数的声明 inttransfer(intx);intx;printf("请输入一个十进制数:");scanf("%d",&x);printf("转换成二进制数是:%d\\n",transfer(x));} inttransfer(intx){ intp=1,y=0,yushu;while(1){ yushu=x%2;x\/=2;y+=yushu*p;p*=10;if(x<2){ y+=x*p;break;...

相似回答