编程,输入一个10进制正整数,然后输出它所对应的八进制数.

如输入10,则输出12。

可以参考下面的代码:

#include <stdio.h>

int main(int argc, char* argv[])

{

int num;

scanf("%d",&num);

printf("%o",num);

return 0;

}

扩展资料:

C语言log()函数:返回x的自然对数(以e为底的对数)

C语言ldiv()函数:求两个数的商和余数(针对long类型)

C语言ceil()函数:求不小于x的最小整数(向上取整)

C语言floor()函数:求不大于x的最大整数(向下取整)

C语言fabs()函数:求双精度浮点数的绝对值

int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')

参考资料来源:百度百科-C语言函数

参考资料来源:百度百科-c语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2023-01-16

编程,输入一个 10 进制正整数,然后输出它所对应的八进制数。

C 语言程序如下:

第2个回答  推荐于2017-12-16
#include<iostream.h>
#include<math.h>
int main()
{
char ch[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}, output[20];
int input,temp,n,i=0;
cout<<"请输入你想要转换的十进制数:";
cin>>input;
cout<<"请输入要转换的进制(2<=n<=16):"; // 2进制,8进制,16进制都可以转换
cin>>n;
input=fabs(input);
while(input)
{
temp=input%n;
input=input/n;
output[i++]=ch[temp];
}
output[i]='\0';
cout<<"转换为"<<n<<"进制后为:";
for(;i>=0;i--)
cout<<output[i];
cout<<endl;
return 0;
}追问

可以改成直接输入10进制,然后直接输出8进制的内容吗?

追答

运行时会出现两次手动输入,第一次就是输入你要转换的十进制数,如 输入10,第二次提示输入时就可以输入要转换的进制8,就可以了

追问

我知道,可以去掉中间的环节,我想要直接输出8进制的。

本回答被提问者采纳
第3个回答  2010-06-10
#include <stdio.h>

int main(int argc, char* argv[])
{
int num;
scanf("%d",&num);
printf("%o",num);
return 0;
}

晕死 就这
第4个回答  2010-06-11
#include <stdio.h>
void main()
{
int a;
scanf("%d",&a);
printf("%o\n",a);
}

编程,输入一个10进制正整数,然后输出它所对应的八进制数.
int main(int argc, char* argv[]){ int num;scanf("%d",&num);printf("%o",num);return 0;}

编程,输入一个10进制正整数,然后输出它所对应的八进制数.
cout<<"请输入你想要转换的十进制数:";cin>>input;cout<<"请输入要转换的进制(2<=n<=16):"; \/\/ 2进制,8进制,16进制都可以转换 cin>>n;input=fabs(input);while(input){ temp=input%n;input=input\/n;output[i++]=ch[temp];} output[i]='\\0';cout<<"转换为"<<n<<"进制后...

...然后输出它所对应的八进制、十六进制数。(不能直接用%0和%x来输...
void main(){ int i=0,n,j,a[20],b[20],k,c=0;double m,x,d;printf("请输入需要转换的数:");scanf("%lf",&x);printf("请输入要转换成的进制(1<N<=16):");scanf("%d",&n);if(x<0)m=fabs(x);else m=x;k=(int)m;\/\/强制类型转换,可以使用k=(int)m;代替,从而更...

简易的10进制整数进制转换程序,要求支持2进制 8进制 支持16进制 要简单...
printf("输入一个十进制数字(0~15): ");scanf("%d", &xxx);printf("\\n十进制形式: %d. ", xxx);printf("\\n二进制形式: ");for (i = 0; i < 4; i++)if (xxx & (1 << (3 - i))) printf("1");else printf("0");printf(".");printf("\\n八进制形式: %02o...

C++中怎样完成将一个十进制转换成八进制、十六进制数的功能
1、C语言打印八进制是通过%o,(百分号和小写字母o组成)打印输出的,首先八进制017的打印输出,实现以下代码段,代码段是先保存一个8进制的数字,然后通过%o的方式输出八进制。2、代码段编译通过后运行查看结果,可以看到结果就是17,八进制打印出八进制,不会有什么变化。3、十进制表示的数字以八进制的...

...给一个字符数组,然后从第一个字母开始间隔的输出该字符,用指针完成...
include <stdio.h> include <string.h> void main(int argc, char **argv){ char str[] = "computer";char *pstr;int i;pstr = str;for(i = 0; i < strlen(str); i += 2){ printf("%c", *(pstr + i));} printf("\\n");} ...

八进制怎么算
一、八进制转换二进制 方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。例:将八进制的(327)O转换为二进制的步骤如下:1. 3 = 011;2. 2 = 010;3. 7 = 111;4. 读数,读数从高位到低位,011010111,即(327)O=(...

c语言输入一个十进制数,把它转换成各种进制然后输出
int main(){ long n;int a[1000], b, i, j, r;while (scanf("%ld%d", &n, &r) != EOF){ if (n < 0) {n = -n; printf("-"); } if (n == 0) printf("0");i = 0;while (n > 0){ b = n % r;a[i] = b;n = n \/ r;i++;} for (j = i - 1;...

c语言输入十进制(long),以二、八、十六进制输出的程序
这个程序写的真不错,很简明,标记一个。他的算法思想在于:先采用除“base”取余(所有的余数都会小于“base”),然后,再按这些余数的倒序输出就完成了数据的10进制与其它进制的转换。(如果你理解10转二进制,以上话你就能明白)char b[16]={'0','1','2','3','4','5','6','7','8...

如何用c语言实现输入一个整数然后输出?
1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if...

相似回答