⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 高精度.cpp

📁 这是一个大整数计算的源代码
💻 CPP
字号:
#include<iostream>
using namespace std;
#include<string.h>
void change(char *a);
void add(char *a,char *b,char *c);
//void mul(char *a,char *b,char *c);
int main()
{
	char a[1000]={'0'},b[1000]={'0'},c[1001]={'0'};
	while(cin>>a>>b)
	{
		add(a,b,c);
		change(c);
		int i=0;
		while(c[i]!='\0')
			cout<<c[i++];
		cout<<endl;
	}
	return 0;
}
void change(char *a)
{
	char ch;
	int i,n;
	n=strlen(a);
	for(i=0;i<n/2;i++)
	{
		ch=a[i];
		a[i]=a[n-1-i];
		a[n-1-i]=ch;
	}
}
void add(char *a,char *b,char *c)
{
	int i;
	int len1,len2,k1,k,k2;
	len1=strlen(a);
	len2=strlen(b);
	change(a);
	change(b);
	if(len1>len2)
		k1=len1,len1=len2,len2=k1;
	k=0;
	for(i=0;i<len1;i++)
	{
		k=(a[i]-'0')+(b[i]-'0')+k;
		k2=k;
		c[i]='0'+k2%10;
		k=k/10;
	}
	if(strlen(a)<strlen(b))
    	for(;i<len2;i++)
		{
	    	k=(b[i]-'0')+k;
	    	k2=k;
	    	c[i]='0'+k2%10;
	    	k=k/10;
		}
	else
		for(;i<len2;i++)
		{
	    	k=(a[i]-'0')+k;
	    	k2=k;
	    	c[i]='0'+k2%10;
	    	k=k/10;
		}
	if(k>0)
		c[i]='0'+k,len2++;
}
/*
void mul(char *a,char *b,char *c)
{
	int i;
	int len1,len2,k1,k,k2;
	len1=strlen(a);
	len2=strlen(b);
	change(a);
	change(b);
	if(len1>len2)
		k1=len1,len1=len2,len2=k1;
	k=0;
	for(i=0;i<len1;i++)
	{
		k=(a[i]-'0')*(b[i]-'0')+k;
		k2=k;
		c[i]='0'+k2%10;
		k=k/10;
	}
	if(strlen(a)<strlen(b))
    	for(;i<len2;i++)
		{
	    	k=(b[i]-'0')+k;
	    	k2=k;
	    	c[i]='0'+k2%10;
	    	k=k/10;
		}
	else
		for(;i<len2;i++)
		{
	    	k=(a[i]-'0')+k;
	    	k2=k;
	    	c[i]='0'+k2%10;
	    	k=k/10;
		}
	if(k>0)
		c[i]='0'+k,len2++;
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -