楼上的,100000位,用c的标准数表示不出来的
用字符数组实现
#include<stdio.h>
int main(){
char a[3][100001];
int i,j,k;
int c=0;
printf("输入:\n");
//first data
for(i=0;;i++){
scanf("%c",&a[2][i]);
if(a[2][i]=='\n') break;
}
for(j=i-1;j>=0;j--)
a[0][i-j-1]=a[2][j];
//second data
for(k=0;;k++){
scanf("%c",&a[2][k]);
if(a[2][k]=='\n') break;
}
for(j=k-1;j>=0;j--)
a[1][k-j-1]=a[2][j];
//compare
if(i>k){
a[0][i]=0x30;
for(j=k;j<=i;j++)
a[1][j]=0x30;
}
else{
a[1][k]=0x30;
for(j=i;j<=k;j++)
a[0][j]=0x30;
}
//add
for(i=0;i<j;i++){
a[2][i]=a[0][i]+a[1][i]+c-0x30; //相加
if(a[2][i]>0x39){ //进位
a[2][i]=a[2][i]-10;
c=1;//进位
}
else
c=0;
}
printf("输出:\n"); //输出
if(a[2][j-1]==0x30)
j=j-1;
for(i=j-1;i>=0;i--)
printf("%c",a[2][i]);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考