| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3213 人关注过本帖
标题:[经验]进制转换C语言实现
取消只看楼主 加入收藏
uyhack
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-23
收藏
 问题点数:0 回复次数:1 
[经验]进制转换C语言实现

#i nclude<stdio.h>

#define N 50
void binarysys();
void octalsys();
void hex();

void main()
{
printf(" &进制转换器& \n");
int select;
do
{
printf("==========================================================================\n");
printf("0、退出\t1、十进制~二进制\t2、十进制~八进制\t3、十进制~十六进制\n");
printf("请选择功能:");
scanf("%d",&select);
if(select==0)
{
break;
}
switch(select)
{
case 1: binarysys();break;
case 2: octalsys();break;
case 3: hex();break;
default : printf("请输入0~3其中的数!\n");
}
}while(1);
}

void binarysys()
{
long int number,i=0;
int arr[N];
printf("请输入一个数:");
scanf("%d",&number);
while(number>=0)
{
if(number<2)
{
arr[i]=number;
break;
}
arr[i]=number%2;
number/=2;
i++;
}
printf("这个数转为二进制后为:");
for(;i>=0;i--)
{
printf("%d",arr[i]);
}
printf("\n");

}

void octalsys()
{
long int number,i=0;
int arr[N];
printf("请输入一个数:");
scanf("%ld",&number);
while(number>=0)
{
if(number<8)
{
arr[i]=number;
break;
}
arr[i]=number%8;
number/=8;
i++;
}
printf("这个数转为八进制后为:");
for(;i>=0;i--)
{
printf("%d",arr[i]);
}
printf("\n");
}

void hex()
{
long int number,i=0;
int arr[N];
printf("请输入一个数:");
scanf("%ld",&number);
while(number>=0)
{
if(number<16)
{
arr[i]=number;
break;
}
arr[i]=number%16;
number/=16;
i++;
}
printf("这个数转为十六进制后为:");
for(;i>=0;i--)
{
switch(arr[i])
{
case 1:printf("%d",arr[i]);break;
case 2:printf("%d",arr[i]);break;
case 3:printf("%d",arr[i]);break;
case 4:printf("%d",arr[i]);break;
case 5:printf("%d",arr[i]);break;
case 6:printf("%d",arr[i]);break;
case 7:printf("%d",arr[i]);break;
case 8:printf("%d",arr[i]);break;
case 9:printf("%d",arr[i]);break;
case 10:
arr[i]='A';
printf("%c",arr[i]);break;
case 11:
arr[i]='B';
printf("%c",arr[i]);break;
case 12:
arr[i]='C';
printf("%c",arr[i]);break;
case 13:
arr[i]='D';
printf("%c",arr[i]);break;
case 14:
arr[i]='E';
printf("%c",arr[i]);break;
case 15:
arr[i]='F';
printf("%c",arr[i]);break;
case 16:
arr[i]='G';
printf("%c",arr[i]);break;
}
}
printf("\n");
}

搜索更多相关主题的帖子: C语言 进制 void printf 
2007-02-22 14:45
uyhack
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-11-23
收藏
得分:0 
谢谢,朋友们!常常互相交流吧!

2007-02-23 12:53
快速回复:[经验]进制转换C语言实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017705 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved