1.输入任意一个整数,输出其对应的二进制的数的表示。
2.输入任意一个整数,输出其对应的二到九进制数的表示。
#define N "0123456789ABCDEF"
#include <stdio.h>
void change(int x,int n,char *p){
char tmp[100];//临时存放转换数
int i,total=0;
while(x){
tmp[total++]=N[x%n];
x/=n;
}
for(i=total-1;i>=0;i--){
p[total-1-i]=tmp[i];
}
if(total==0){
p[0]='0';
p[1]=0;
}
else
p[total-1-i]=0;
}
int main()
{
char s[100];//用于存放转换的进制的数
int i,x;
printf("把一个数转换成2 3 4 ... 9进制数\n");
scanf("%d",&x);
for(i=2;i<=9;i++){
change(x,i,s);
printf("转换成%d进制是:%s\n",i,s);
}
}
1.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void decToBin(int n)//输入一个数15
{
int result = 0;//结果
int k = 1;
int i = 0;
while(n)//除到0就停止
{
i = n % 2; //余数i=1 //i=1 //i=1 //i=1
result = k * i + result; //result=1 //result=11 //result=111 //result=1111
k = k * 10; //k=10 //k=100 //k=1000
n = n / 2; //n=7 //n=3 //n=1 //n=0退出
}
printf("%d \n",result);//1111
}
int main() {
int n;
scanf("%d", &n);
decToBin(n);
}