借此复习一下printf格式码:

%d —— 以十进制形式打印一个整型值

%o ——   八进制

%x ——   十六进制

参考代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int num;
    scanf("%d", &num);

    printf("%o", num);

    return 0;
}

还有另一种求法,用来学习~

#include <stdio.h>

int main()
{
    int num;
    scanf("%d", &num);

    int rest = num % 8; //rest用来保留最后一位
    while (num / 8 != 0)
    {
        num = num / 8;
        putchar(num + '0'); //以ascii码的形式打印
    }
    putchar(rest + '0');

	return 0;
}


 

0.0分

72 人评分

  评论区

第二种方法超过65好像就不行了
2022-07-17 22:56:00 | |
第二种方法不对哦
2022-06-21 14:49:28 | |
#include <stdio.h>
int main()
{
	int a[20],n,i=0,j;
	printf("请输入一个十进制正整数:");
	scanf("%d",&n);
	j=n;
	do
	{
		a[i]=j-j/8*8;
		printf("a[%d]=%d\n",i,a[i]);
		j=j/8;
		i++;	
	}while(j/8!=0);
	if(j/8==0)
	{
		a[i]=j%8;
		printf("a[%d]=%d\n",i,a[i]);
	}
	printf("十进制数%d转化为八进制数为0",n);
	for(j=i;j>=0;j--)
	{
		printf("%d",a[j]);
	}
	printf("\n");
	
	return 0;
}
2022-04-01 19:45:34 | |
#include<stdio.h>
int mi(int x);
int mi(int x)
{int n,sum;
sum=1;
for(n=1;n<=x;n++)
{
	sum*=8;
}
	return(sum);
	
}
	
	
	
	

	
int main()
{
	int m,b[100]={0},i,j,n,k;
	
	m=0;
	i=1;
int mi(int x);
	scanf("%d",&m);
	n=m;
	for(i=1;;i++)  
	{ n/=8;
	    if(n==0) break;
	}
	k=i;
		for(j=0;i-1>=0;i--)
		
		{b[j]=m/mi(i-1);
		m%=mi(i-1);
		j++;
			
		}
		
		for(j=0;j<k;j++)
		printf("%d",b[j]);
		return 0;
}
直接暴力,新手只会暴力,太弱了,那种用递归和直接转的方法我真的好羡慕,想不到。
2022-03-20 00:18:36 | |
第二种方法不对呀
2022-01-12 20:18:17 | |
#include <stdio.h>


int main()
{
	int i=-1,j, n,remainder[100];
	scanf("%d",&n);
	while(n>8)
	{
	    remainder[i+1]=n%8;
	    n=n/8;
	    i++;
	}
	printf("%d",n);
	if(i!=-1)
	{
	    	for(j=i;j>=0;j--)
    	{
    	    printf("%d",remainder[j]);
    	}
	}
	return 0;
}

请问为什么这个不对?
2021-10-06 13:03:00 | |
求问这个为什么不对
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int j,m,k;
    int a;
    scanf("%d",&m);
    k=m/8;
    j=m%8;
    a=10*k+j;
    printf("%d",a);

    return 0;
}
2021-03-12 20:32:13 | |
第一种方法#include <stdlib.h>
#include <string.h>不带上为啥不对呀
2020-03-15 14:38:17 | |