算法提高 进制转换

问题描述

  程序提示用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出。
  输入格式:输入只有一行,即三个字符。
  输出格式:输出只有一行,包括三个整数,中间用空格隔开。
  输入输出样例

样例输入

FFF

样例输出

FFF 4095 7777

#include <stdio.h>
void shuchu(char *,int);

int main(void)
{
	char zf[3];
	gets(zf);
	shuchu(zf,3);
    return 0;
}

void shuchu(char *zf , int n)
{
	int i,shu=0;
	for(i=0;i<n;i++)
	{
		int s;
		if(zf[i]>='0'&&zf[i]<='9')
		{
			s=zf[i]-'0';
		}
		if(zf[i]>='A'&&zf[i]<='F')
		{
			s=zf[i]-'A'+10;
		}
		shu*=16;
		shu+=s;
	}
	printf("%X ",shu);
	printf("%d ",shu);
	printf("%o",shu);
}

猜你喜欢

转载自blog.csdn.net/qq_41353167/article/details/81742910
今日推荐