大数加法,字符预算 给我解释一下主程序什么意思,最好详细点,大神们,来吧
#include <stdio.h>
#include <stdlib.h>
main()
{
int a[2000];
int b[2000];
int c[2000];
char ch;
int m,n;
int i;
int j;
int k;
int flag;
i=1;
scanf("%c",&ch);
while(ch>='0'&&ch<='9')
{
a[i]=ch-'0';
i++;
scanf("%c",&ch);
}
m=i-1;
i=1;
scanf("%c",&ch);
while(ch>='0'&&ch<='9')
{
b[i]=ch-'0';
i++;
scanf("%c",&ch);
}
n=i-1;
i=m;
j=n;
k=1;
flag=0;
while(i>=1&&j>=1)
{
c[k]=(a[i]+b[j]+flag)%10;
flag=(a[i]+b[j]+flag)/10;
k++;
i--;
j--;
}
while(i>=1)
{
c[k]=(a[i]+flag)%10;
flag=(a[i]+flag)/10;
k++;
i--;
}
while(j>=1)
{
c[k]=(b[j]+flag)%10;
flag=(b[j]+flag)/10;
k++;
j--;
}
if (flag==1)
printf("1");
for(i=k-1;i>=1;i--)
printf("%d",c[i]);
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
main()
{
int a[2000];
int b[2000];
int c[2000];
char ch;
int m,n;
int i;
int j;
int k;
int flag;
i=1;
scanf("%c",&ch);
while(ch>='0'&&ch<='9')
{
a[i]=ch-'0';
i++;
scanf("%c",&ch);
}
m=i-1;
i=1;
scanf("%c",&ch);
while(ch>='0'&&ch<='9')
{
b[i]=ch-'0';
i++;
scanf("%c",&ch);
}
n=i-1;
i=m;
j=n;
k=1;
flag=0;
while(i>=1&&j>=1)
{
c[k]=(a[i]+b[j]+flag)%10;
flag=(a[i]+b[j]+flag)/10;
k++;
i--;
j--;
}
while(i>=1)
{
c[k]=(a[i]+flag)%10;
flag=(a[i]+flag)/10;
k++;
i--;
}
while(j>=1)
{
c[k]=(b[j]+flag)%10;
flag=(b[j]+flag)/10;
k++;
j--;
}
if (flag==1)
printf("1");
for(i=k-1;i>=1;i--)
printf("%d",c[i]);
system("pause");
return 0;
}