c语言,输入一个小于256的正整数以二进制,八进制,十六进制输出

2025-05-09 14:40:59
推荐回答(2个)
回答1:

#include

int main()

{

int i,n,m,a[8];

scanf("%d",&n);

m=n;

for(i=0;m;i++)

{

a[i]=m%2;

m/=2;

}

printf("%d=",n);

for(i--;i>=0;i--)

printf("%d",a[i]);

printf("B\n");


printf("%d=%oQ\n",n,n);

printf("%d=%XH \n",n,n);

system("pause");

return 0;

}

回答2:

/*十进制(整数)转为八进制*/
#include
main()
{
int i,n,s,a[100];
int count=0;
char b[100];
printf("请输入一个十进制整数:\n");
scanf("%d",&n);
printf("十进制数%d的八进制数为:\n",n);
printf("0");
for(i=1;;i++)
{
s=n%8;
a[i]=s;
n=n/8;
count++;
if(n==0) break;
}

for(i=count;i>=1;i--)
{

printf("%d",a[i]);
}
printf("\n");
return 0;
}
/* 十进制(整数)转为二进制 */
#include
main()
{
int i, n, s;
int a[100];
int count = 0;
printf("请输入一个十进制整数:\n");
scanf("%d", &n);
printf("十进制数%d的二进制数为:\n", n);
for (i = 1;; i++)
{
s = n % 2;
a[i] = s;
n = n / 2;
count++;
if (n == 0)
break;
}
for (i = count; i >= 1; i--)
{
printf("%d", a[i]);
}
printf("\n");
return 0;
}
/*十进制(整数)转为十六进制*/
#include
main()
{
int i,n,s,a[100];
int count=0;
char b[100];
printf("请输入一个十进制整数:\n");
scanf("%d",&n);
printf("十进制数%d的十六进制数为:\n",n);
printf("0X");
//转换
for(i=1;;i++)
{
s=n%16;
a[i]=s;
n=n/16;
count++;
if(n==0) break;
}
//输岀
for(i=count;i>=1;i--)
{
if(a[i]>=10)
{
b[i]=toupper(a[i]+55);
printf("%c",b[i]);
}
else
{
printf("%d",a[i]);
}
}
printf("\n");
return 0;
}
把这三个都 发给你,自己整理一下吧