1172(1173)十进制转化为八(n)进制

1172

题目描述

输入一个十进制整数,把这个数转换为八进制的数输出。

输入要求

输入一个十进制整数。

输出要求

输出转化后的八进制数,各数字间空一格,最后一个数据后面也有空格,再换行。

输入样例

57

输出样例

7 1

用n%8计算十进制转化八进制,用数组存储,再输出

#include<stdio.h>
int main(){
	int n,b[100],i=0,k=0;
	scanf("%d",&n);
	while(n){
		b[i]=n%8;  //对于整数部分,用被除数反复除以 8,
除第一次外,每次除以 8 均取前一次商的整数部分作被除数并依次记下每次的余数。
另外,所得到的商的最后一位余数是所求二进制数的最高位。
		i++;
		n=n/8;
	}
	for(k=i-1;k>=0;k--){
		printf("%d ",b[k]);
	}
	printf("\n");
	return 0;
} 

题目描述

输入一个十进制正整数,把这个数转换为n进制。

输入要求

输入两个整数num和n,num表示要转换的数,n表示要转换成的进制。如10 2表示要求将十进制数10转换成二进制数。(2<=n<17)

输出要求

输出转化后的进制数,每个数字之后跟一空格,如果数字大于9,则输出大写英文字母(10-16分别对应A-F)。

输入样例

10 2

输出样例

1 0 1 0
#include<stdio.h>
int main(){
	int n,i=0,k=0,num;
	char b[100];
	scanf("%d%d",&num,&n);
	while(num){
		b[i]=num%n;
		i++;
		num=num/n;
	}
	for(k=i-1;k>=0;k--){
		if(b[k]>=10&&b[k]<=16){
			printf("%X ",b[k]);  //%X是转换为大写的十六进制,%x是小写的十六进制
		}
		else{
		printf("%d ",b[k]);
	}
}
	printf("\n");
	return 0;
} 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值