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

📄 dazhengshu.cpp

📁 大整数乘法,C++环境下运行,可输入两个任意长的整数.
💻 CPP
字号:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define Max 100
char res[Max];

void Init_char(char *res)
{
int i;
for(i=0; i<Max; i++)
{
    res[i] = '0';
}
return ;
}
void Init_int(int *a)
{
int i;
for(i=0; i< Max; i++)
    a[i] = 0 ;
}

void Long_Multy(char *res,char *mulNum)  
{
int temp[Max]; 
int i,j;
int len;

Init_int(temp);  
len = strlen(mulNum);
int t = 0 ;
for(i=len-1; i>=0; i--,t++)
{
    for(j=Max-1; j>=0; j--) 
    {
     temp[j-t] += (res[j]-'0') * (mulNum[i]-'0'); 
    }
}

int carry = 0 ;  
for(i=Max-1; i>=0; i--)
{
    res[i] = (temp[i]+carry)%10+'0';
    carry = (temp[i]+carry)/10; 
}


printf("相乘的结果为:\n");
for(i=0;i<Max;i++)
    if(res[i] != '0')
     break;
for(i;i<Max;i++)
    putchar(res[i]);
printf("\n");

return ;
}
void input(char *a,char *b)
{
int len,i;
scanf("%s %s",a,b);
Init_char(res);
len=strlen(a);
for(i=len-1;i>=0;i--)
    res[Max+i-len] = a[i];
}


int main()
{
char a[50],b[50];
printf("请输入两个整数:");
input(a,b);
Long_Multy(res,b);
getch();
return 0 ;
}

⌨️ 快捷键说明

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