1. 程式人生 > >五:大數運算-加法運算

五:大數運算-加法運算

size str1 輸入 define color pos sizeof 加法 pri

問題 : 大數-加法運算
題目描述

請計算兩個整數相加(數的範圍:0 <= num < 10 ^ 100)
輸入
兩個整數
輸出
一個整數
樣例輸入
1000000
1000000
樣例輸出
2000000

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define M 100000
 4 int Inter_Sum[M];
 5 void fun(char str1[],char str2[]){
 6     int t,m=0,i=strlen(str1);
 7     int p=strlen(str2)-1;
 8     int k=0;
 9     while(i--){
10 if(p>=0) 11 t=(str1[i]-48)+(str2[p]-48)+m; 12 else t=(str1[i]-48)+m; 13 if(t<10){ 14 Inter_Sum[k]=t; 15 m=0; 16 }else{ 17 Inter_Sum[k]=t%10; 18 m=t/10; 19 } 20 k++; 21 p--; 22 if
(i==0&&m!=0)Inter_Sum[k++]=m; 23 } 24 for(int j=k-1;j>=0;j--){ 25 printf("%d",Inter_Sum[j]); 26 } 27 } 28 int main(){ 29 char str1[M]; 30 char str2[M]; 31 memset(str2,0,sizeof(str2)); 32 int i=0,j=0; 33 scanf("%s %s",str1,str2); 34 str1[strlen(str1)]=
\0; 35 str2[strlen(str2)]=\0; 36 if(strlen(str1)>=strlen(str2)) 37 fun(str1,str2); 38 else fun(str2,str1); 39 return 0; 40 }

五:大數運算-加法運算