1.6程式設計基礎之一維陣列 11.大整數減法
阿新 • • 發佈:2019-02-17
描述
求兩個大的正整數相減的差。
輸入共2行,第1行是被減數a,第2行是減數b(a> b)。每個大整數不超過200位,不會有多餘的前導零。輸出一行,即所求的差。樣例輸入9999999999999999999999999999999999999 9999999999999樣例輸出
9999999999999999999999990000000000000
#include<stdio.h> #include<string.h> int main() { int i,j,str1,str2,k=0; int a1[255],a2[255],a3[255]; char c1[255],c2[255]; for(i=0; i<255; i++) { a1[i]=0; a2[i]=0; } scanf("%s",c1); scanf("%s",c2); str1=strlen(c1); str2=strlen(c2); j=0; for(i=str1-1; i>=0; i--) a1[j++]=c1[i]-'0'; j=0; for(i=str2-1; i>=0; i--) a2[j++]=c2[i]-'0'; for(i=0; i<255; i++) { a1[i]-=a2[i]; if(a1[i]<0) { a1[i]+=10; a1[i+1]--; } } j=0; for(i=254; i>=0; i--) a3[j++]=a1[i]; for(i=0; i<255; i++) { if(a3[i]!=0) k=1; if(k==1) printf("%d",a3[i]); } if(k==0) printf("0"); printf("\n"); return 0; }