要注意数组的初始化
注意特殊情况的讨论(比如都是0)
厦大oj不能用语句 a=(a>b?:a,b); 会编译失败;
数组的界限 如a1是个数 却不是最大的下标
#include<stdio.h>int main()
{int a,b,n[15]={0},p[15]={0},q[15]={0},a1,b1;int qushu(int x,int m[15]);scanf("%d %d",&a,&b);a1=qushu(a,p); //把a,b分离并记录位数b1=qushu(b,q);for(int i=0; i<a1||i<b1; i++){n[i]=(p[i]+q[i])%10; //相加}if(a1<b1) a1=b1;while(n[a1-1]==0) {a1--; //去除首位的0if(a1==0) break;}if(a1==0) printf("0"); //对111+999这种特殊情况的讨论else{for(int i=a1-1; i>-1; i--){printf("%d",n[i]); }}return 0;
}int qushu(int x,int m[15])
{ int i=0;while(x>0){m[i++]=x%10;x/=10;}return i;
}