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

📄 大数问题.cpp

📁 用于加解密----DES
💻 CPP
字号:
#include   <stdio.h>
#include   <string.h>
#define   LEN   200

int Input(char n[])           // 输入数据 
{    char s[LEN];
	 int i,l;
	 for(i=0;i<LEN;i++)
		 n[i]=0;
	 if(scanf("%s",s)<1)   return  -1;
	 l=strlen(s);
	 for(i=0;i<l;i++)
		 n[i]=s[l-i-1]-'0';
	     return 0;
}

void Print(char n[])                            //输出数据
{
 int j;
 for(j=LEN-1; j>0; j--)
      if(n[j]!=0) break;
 for(; j>=0; j--)
 printf("%d", n[j]);
 printf("\n");
}

void Add(char a[], char b[], char d[])         //两数加法
{  int i;
   for(i=0; i<LEN; i++)
       d[i]=a[i]+b[i];
   for(i=0; i<LEN-1; i++) 
   {
       if(d[i]>=10) 
	   {
           d[i+1]+=d[i]/10;
           d[i]=d[i]%10;
	   }
   }
}

void Mul(char a[], char b[], char c[])         //两数乘法
{
   int i, j;
   for(i=0; i<LEN*2; i++)
      c[i]=0;
   for(i=0; i<LEN; i++) 
   {   for(j=0; j<LEN; j++) 
		{   c[i+j]+=a[j]*b[i];
            if(c[i+j]>=10)
			{  c[i+j+1]+=c[i+j]/10;
               c[i+j]=c[i+j]%10;
			}
		}
   }
}


void main()
{   char a[LEN],char b[LEN],char c[2*LEN],char d[LEN+1];
    printf("请输入一个大数:");	
    Input(a);
    Print(a); 
	
	printf("请再次输入一个大数:");
	Input(b);
	Print(b);
    
	printf("加法的结果是:");
	Add(a,b,d);
    Print(d);
    
	printf("乘法的结果是:");
	Mul(a,b,c);
	Print(c);
}

⌨️ 快捷键说明

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