题意:其实就是两个大数相加的和。
解题思路:由于输入方式不同,而位数N<=1000,000;所以很容易TLE,刚开始我定义了两个整型数组存放这两个大数,可是超时,后来查阅资料,发现开辟一个字符数组,在输入的过程中处理数据,就可以AC了。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #include <stdio.h>
2 int main()
3 {
4 char a[ 1000002]={ ' 0 '};
5 int n,i;
6 int x,y;
7 scanf( " %d ",&n);
8 for(i= 0;i<n;i++)
9 {
10 scanf( " %d%d ",&x,&y);
11 a[i]=x+y+ ' 0 ';
12 }
13 for(i=n- 1;i>= 0;i--)
14 {
15 if(a[i]> ' 9 '){
16 a[i]=a[i]- 10;
17 a[i- 1]=a[i- 1]+ 1;
18 }
19 }
20 printf( " %s\n ",a);
21 return 0;
22 }
2 int main()
3 {
4 char a[ 1000002]={ ' 0 '};
5 int n,i;
6 int x,y;
7 scanf( " %d ",&n);
8 for(i= 0;i<n;i++)
9 {
10 scanf( " %d%d ",&x,&y);
11 a[i]=x+y+ ' 0 ';
12 }
13 for(i=n- 1;i>= 0;i--)
14 {
15 if(a[i]> ' 9 '){
16 a[i]=a[i]- 10;
17 a[i- 1]=a[i- 1]+ 1;
18 }
19 }
20 printf( " %s\n ",a);
21 return 0;
22 }