首页 > 其他分享 >进制转换

进制转换

时间:2023-09-12 12:35:01浏览次数:32  
标签:转换 进制 int sum memset printf include


有多组测试用例,

输入一段字符s,n,k;  n表示字符s是n进制的数,k表示要转换为k进制的数;

例:

3  10  2

      7

15  10  16

     F

#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
	char a[30],c[30];
	int b[30];
	int n,m,i,j,k;
	while(scanf("%s%d%d",a,&n,&m)!=EOF)
	{
		memset(c,0,sizeof(c));
		memset(b,0,sizeof(b));
		int l=strlen(a),sum=0;
		for(i=0;i<l;i++)
		{
			if(a[i]<='9')
				b[i]=a[i]-'0';
			else
				b[i]=a[i]-'A'+10;
			sum*=n;
			sum+=b[i];
		}
		j=0;
		if(sum==0)
			printf("0\n");
		else
		{
		while(sum!=0)
		{
			int t=sum%m;
			sum/=m;
			if(t<=9)
				c[j++]=t+'0';
			else
				c[j++]=t+'A'-10;
		}
		int ll=strlen(c);
		for(i=ll-1;i>=0;i--)
			printf("%c",c[i]);
		printf("\n");
		}
	}
}



输入两个数,n,k;

n (0 <= n <=10^9) and k (2 <= k <= 36)

要求把十进制数n,转化为k进制数。

Sample Input

3 2

4 3

15 16

Sample Output

11

11

F

就是把上面的程序改改

#include<stdio.h>
#include<string.h>
#include<math.h>

char c[1000000];
int main()
{
	int m,i,j,k,sum;
	while(scanf("%d%d",&sum,&m)!=EOF)
	{
		memset(c,0,sizeof(c));
		if(sum==0)
			printf("0\n");
		else
		{
			j=0;
			while(sum!=0)
			{
				int t=sum%m;
				sum/=m;
				if(t<=9)	
					c[j++]=t+'0';
				else
					c[j++]=t+'A'-10;
			}
			for(i=j-1;i>=0;i--)
				printf("%c",c[i]);
			printf("\n");
		}
	}
}




标签:转换,进制,int,sum,memset,printf,include
From: https://blog.51cto.com/u_16244339/7444323

相关文章

  • 剑指 Offer 67. 把字符串转换成整数
    题目链接:剑指Offer67.把字符串转换成整数题目描述:写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。解法思路:直接模拟题代码:funcstrToInt(sstring)int{s=strings.Trim(s,"")minus:=1varansint64=......
  • vcf手机通讯录中文转换工具
    手机联系人通讯录可以导出为vcf通讯录文件,也可以把联系人分享到微信。这种vcf文件的内容全是英文字母和数字。能看见手机号,但是不知道姓名是谁,中文名字全被UTF8加密了。一部分内容如下:BEGIN:VCARDVERSION:2.1N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=E6=9C=AC=E6=9C=BA;;;F......
  • 字符串转换
    给你两个长度都为n的字符串s和t。你可以对字符串s执行以下操作:将s长度为l(0<l<n)的后缀字符串删除,并将它添加在s的开头。比方说,s='abcd',那么一次操作中,你可以删除后缀'cd',并将它添加到s的开头,得到s='cdab'。给你一个整数k,请你返回恰好k次操......
  • 如何实现数据流畅转换?火山引擎ByteHouse推出ELT能力
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在数据分析场景中,企业使用的数据通常具备来源多样化的特点,如支付交易记录、用户行为等,且数据格式各异,有的为行式存储结构,有的为列式存储结构。这就要求企业数仓具备一定的数据转换能力。传统方式......
  • 前端生成二进制文件并下载
    //生成十六进制数据consthexData='7E02000000010000000aB77E';//这里是示例的十六进制数据//将十六进制数据转换为字节数组constdata=hexToBytes(hexData);//创建Blob对象constblob=newBlob([data],{type:'application/octet-stream'});//创建下载链......
  • GLTF文件格式解析与格式转换
    GLTF格式简介GLTF是一种免版税的规范,用于引擎和应用程序高效传输和加载3D场景和模型,最小化了3D资产的大小,以及解包和使用它们所需的运行时处理,定义了一种可扩展的发布格式,通过在整个行业中实现3D内容的互操作使用,简化了创作工作流程和交互服务。GLTF2.0已作为ISO/IEC12113:2022国......
  • STEP文件格式解析与格式转换
    STEP格式简介STEP格式是一种STP三维文件,是基于ASCII格式符合STEP应用协议ISO10303-21标准的正文编码的交换结构的三维图像数据。STP文件使用CATIA(计算机辅助三维交互应用)软件打开,通常在不同平台下有很多这类软件可以打开STP格式文件,Windows系统下就有大家熟知的UG、PRO-E、FreeCAD......
  • FBX模型解析与格式转换
    FBX格式简介FBX格式是一种3D通用模型文件格式。FBX格式是Autodesk公司收购Kaydara以后,研发的一种3D通用模型文件。包含动画、材质特性、贴图、骨骼动画、灯光、摄像机等信息。FBX格式用于在诸如3dsMax、Maya、Softimage等软件间进行模型、材质、动作和摄影机信息的互导。FBX最大的......
  • IGES文件格式解析与格式转换
    IGES文件格式简介IGS是根据IGES标准生成的文件,主要用于不同三维软件系统的文件转换。IGES标准,是建立在波音公司CAD/CAM集成信息网络、通用电气公司的中心数据库和其他各种数据交换格式之上的。其最初版本仅限于描述工程图纸的几何图形和注释,随后又将电气、有限元、工厂设计和建筑设......
  • 例2.9 建立一个带头结点的线性链表,用以存放输人的二进制数,链表中每个结点的data域存放
    1.题目例2.9建立一个带头结点的线性链表,用以存放输人的二进制数,链表中每个结点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算。2.算法分析3.代码/*二进制加1*/voidBinAdd(LinkListl){inttemp;Node*pa=l->next,*pb,*s;while(pa......