欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言高精度加法

程序员文章站 2024-01-15 12:33:28
//模拟手算,从低位加起,满10高位进1. #include #include #include&l...
//模拟手算,从低位加起,满10高位进1.  
#include<stdio.h>  
#include<math.h>  
#include<string.h>  
 char s[10000];  
 int a[10000],b[10000],c[10000];  
  int main(){  
      while(1){  
  int lena,lenb,lenc,m,n,i;//数组a,b,c的长度  
  gets(s);  
  lena=strlen(s);  
  for (i=0;i<lena;i++)  a[i+1]=s[lena-i-1]-'0';  
  gets(s); lenb=strlen(s);  
  for (i=0;i<lenb;i++) b[i+1]=s[lenb-i-1]-'0';  
  lenc=lena>lenb?lena:lenb;  
  for(i=1;i<=lenc;i++) c[i]=a[i]+b[i];  
  for(i=1;i<lenc;i++)  
  if(c[i]>=10){ c[i+1]++; c[i]-=10;}  
  for(i=lenc;i>=1;i--)  
  printf("%d",c[i]);  
  puts("\n");}  
  return 0; }