解题思路:两个字符数组,两个数组可以解决问题,不涉及到大数算法。
注意事项:要注意数组的设置长度,还要考虑到进位处理。
参考代码:
#include<iostream> #include<cstring> using namespace std; int main() { char a[1000],b[1000]; while(cin>>a>>b) { int n[1000]={0},m[1000]={0},sum[1001]={0},k=0,l=0,h; for(int i=strlen(a)-1;i>=0;i--) n[k++]=a[i]-'0'; for(int j=strlen(b)-1;j>=0;j--) m[l++]=b[j]-'0'; for(h=0;;h++) { if((h>strlen(a)-1)&&(h>strlen(b)-1)) { h--; break; } sum[h]=n[h]+m[h]; } for(int i=0;i<=h;i++) if(sum[i]>=10) { sum[i+1]+=sum[i]/10; sum[i]=sum[i]%10; } for(int j=h+1;j>=0;j--) { if(sum[j]!=0) { for(int k=j;k>=0;k--) cout<<sum[k]; cout<<endl; break; } } } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:573 |
兰顿蚂蚁 (C++代码)浏览:1225 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:660 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
1025题解浏览:796 |
Tom数 (C语言代码)浏览:758 |
杨辉三角 (C语言代码)浏览:505 |
川哥的吩咐 (C语言代码)浏览:663 |
简单的a+b (C语言代码)浏览:542 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:538 |