求详细,c语言程序设计,不同数制转换程序 55
输入一个任意十进制数字。程序自动转换为其他的数值,包括二进制,八进制。十六进制,用算法实现而不能用printf函数实现。谢绝雷同,高分悬赏...
输入一个任意十进制数字。程序自动转换为其他的数值,包括二进制,八进制。十六进制,用算法实现而不能用printf函数实现。谢绝雷同,高分悬赏
展开
3个回答
展开全部
//******************************************************************************
// 输入一个任意十进制数字。程序自动转换为其他的数值,包括二进制,八进制。十六进制
// 简单的转换,LZ没限制 输入数字的大小
// 下面程序最大保存100位2进制数,可供参考....谢谢
//******************************************************************************
#include<stdio.h>
#include<string.h>
int main()
{
int i,a1,b1,c1,num,flag_a,flag_b,flag_c;
int a[100],b[100],c[100]; // 最大保存100位2进制数
while (scanf("%d",&num)&&num!=EOF) // 多项测试, Ctrl + Z 结束
{
memset(a,'\0',sizeof(a)); // 初始化数组
memset(b,'\0',sizeof(b));
memset(c,'\0',sizeof(c));
a1=b1=c1=num;
flag_a=flag_b=flag_c=0;
for (i=0;a1>0;i++)
{
if (a1!=0) // 转换成 2 进制
{
a[i]=a1%2;
a1=a1/2;
flag_a++;
}
if (b1!=0) // 转换成 8 进制
{
b[i]=b1%8;
b1=b1/8;
flag_b++;
}
if (c1!=0) // 转换成 16 进制
{
c[i]=c1%16;
c1=c1/16;
flag_c++;
}
}
printf("\n %d转换成2 进制数为: ",num);
for (i=flag_a-1;i>=0;i--)
printf("%d",a[i]);
printf("\n %d转换成8 进制数为: ",num);
for (i=flag_b-1;i>=0;i--)
printf("%d",b[i]);
printf("\n %d转换成16进制数为: ",num);
for (i=flag_c-1;i>=0;i--)
{
if (c[i]>=10)
printf("%c",c[i]+'A'-10);
else
printf("%d",c[i]);
}
}
}
//******************************************************************************
// 祝学习进步,更上一层楼 *(^-^)*
//******************************************************************************
// 输入一个任意十进制数字。程序自动转换为其他的数值,包括二进制,八进制。十六进制
// 简单的转换,LZ没限制 输入数字的大小
// 下面程序最大保存100位2进制数,可供参考....谢谢
//******************************************************************************
#include<stdio.h>
#include<string.h>
int main()
{
int i,a1,b1,c1,num,flag_a,flag_b,flag_c;
int a[100],b[100],c[100]; // 最大保存100位2进制数
while (scanf("%d",&num)&&num!=EOF) // 多项测试, Ctrl + Z 结束
{
memset(a,'\0',sizeof(a)); // 初始化数组
memset(b,'\0',sizeof(b));
memset(c,'\0',sizeof(c));
a1=b1=c1=num;
flag_a=flag_b=flag_c=0;
for (i=0;a1>0;i++)
{
if (a1!=0) // 转换成 2 进制
{
a[i]=a1%2;
a1=a1/2;
flag_a++;
}
if (b1!=0) // 转换成 8 进制
{
b[i]=b1%8;
b1=b1/8;
flag_b++;
}
if (c1!=0) // 转换成 16 进制
{
c[i]=c1%16;
c1=c1/16;
flag_c++;
}
}
printf("\n %d转换成2 进制数为: ",num);
for (i=flag_a-1;i>=0;i--)
printf("%d",a[i]);
printf("\n %d转换成8 进制数为: ",num);
for (i=flag_b-1;i>=0;i--)
printf("%d",b[i]);
printf("\n %d转换成16进制数为: ",num);
for (i=flag_c-1;i>=0;i--)
{
if (c[i]>=10)
printf("%c",c[i]+'A'-10);
else
printf("%d",c[i]);
}
}
}
//******************************************************************************
// 祝学习进步,更上一层楼 *(^-^)*
//******************************************************************************
展开全部
#include<stdio.h>
int main()
{
printf("\033[1;33m======================\n请输入一个十进制数:");
int a, b, i ;
char charx[50];
scanf("%d", &a);
printf("======================\n");
printf
("你希望你的十进制数被转换为几进制数?\n请输入(2~16)\n");
printf("=======================\n");
scanf("%d", &i);
printf("=======================\n");
printf("你输入了%d\n", i);
printf("=======================\n");
printf("%d转换为%d进制是:", a, i);
for (b = 0; b <= 50; b++)
{
int x;
x = a % i;
if (x>9)
charx[b]=x+55;
else
charx[b]=x+48;
a = a / i;
if (a == 0)
break;
}
for (; b >= -1; b--)
printf("\033[31m%c", charx[b]);
printf("\n^_^");
}
愉快哈,好的话就采纳哈!
int main()
{
printf("\033[1;33m======================\n请输入一个十进制数:");
int a, b, i ;
char charx[50];
scanf("%d", &a);
printf("======================\n");
printf
("你希望你的十进制数被转换为几进制数?\n请输入(2~16)\n");
printf("=======================\n");
scanf("%d", &i);
printf("=======================\n");
printf("你输入了%d\n", i);
printf("=======================\n");
printf("%d转换为%d进制是:", a, i);
for (b = 0; b <= 50; b++)
{
int x;
x = a % i;
if (x>9)
charx[b]=x+55;
else
charx[b]=x+48;
a = a / i;
if (a == 0)
break;
}
for (; b >= -1; b--)
printf("\033[31m%c", charx[b]);
printf("\n^_^");
}
愉快哈,好的话就采纳哈!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言程序设计,不同数制转换程序
需要的。
要什么样的 才是最;理想的。 。
需要的。
要什么样的 才是最;理想的。 。
追问
?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询