
40、大數加法,兩個100位數以內的數字相加,列印出結果。
//大數加法 #include<stdio.h> #include<stdlib.h> void Reverse(char t[100])//字串反轉 { int str_length,i,j;
char temp;
for(i=0;;i++) //找尋字串長度
if (t[i]=='\0') break;
str_length=i;
for(i=0;i<str_length/2;i++) //反轉字串 {
temp=t[i];
t[i]=t[str_length-i-1];
t[str_length-i-1]=temp;
}
}
void bignum_add(char a[100],char b[100],char c[100])
{
int i=0;
//需要做將a,b兩字串相加
//需要做進位處理 } main() {
char a[100],b[100],c[100]; int i; for(i=0;i<100;i++) {a[i]=0; b[i]=0; c[i]=0;}
printf("請輸入超長整數(<100位數)\n被加數=");
scanf("%s",a);
printf("加數=");
scanf("%s",b);
Reverse(a); //反轉字串 printf("a=%s\n",a);
Reverse(b); printf("b=%s\n",b);
bignum_add(a,b,c); Reverse(c); printf("c=%s\n",c);
system("PAUSE");
} |