十进制大数乘法,加法,减法

本文介绍了如何在不使用内置库的情况下,通过编程实现十进制大数的乘法、加法和减法操作。详细探讨了大数运算的算法原理,并给出了具体的代码实现示例,对于理解大数计算逻辑和提升编程能力具有参考价值。
摘要由CSDN通过智能技术生成
#include <stdio.h>
#include <math.h>
void print(int * m);
void yiwei(int * m1, int * m2, int n);  /*  m1左移n位得到m2  */
void sub(int *A, int * B, int * C);
void add(int *A,int *B, int *C);
void mult(int *x, int *y, int n, int *z);
int max(int *A, int *B);

int main(  )
{
   
  int x[256],y[256],z[256];
  int n1,n2,i1,i2,k,j,n,i;
  long b,d;
  char ch;
freopen("in2.txt","r",stdin);     //从in.txt 中读入数据
freopen("out2.txt","w",stdout);  // 将最后数据写入out.txt中
  scanf("%d",&n);
  //x,y分别是两个大整形数的位数
  x[0]=n;y[0]=n;
  getchar();   //把回车读走
  ch=getchar();
  //x1和y1都存乘数和被乘数的符号
  if(ch=='+')
     x[1]=1;
  else
      x[1]=-1;
  for(i=n+1;i>=2;i--)
      scanf("%1d",&x[i]);
  getchar();   //把回车读走
  scanf("%c",&ch);
  if(ch=='+')
      y[1]=1;
  else
      y[1]=-1;
  for(i=n+1;i>=2;i--)
      scanf("%1d",&y[i]);
  mult(x,y,n,z);
  print(z);
   fclose(stdin);//关闭输入输出流
    fclose(stdout);
    return 0;

}

void mult(int *x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值