杭电1002
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <iostream> #include <string> #include <string.h> #include <stdlib.h> using namespace std; int main() { int a[1002]; int b[1002]; int n; char aa[1002]; char bb[1002]; cin>>n; int line = 1; while (line <= n) { cin>>aa>>bb; memset (a, 0, sizeof (a)); //不要硬编码,采用sizeof,因为是int是4字节,之前自己给自己埋了个坑,写成1002。。。 memset (b, 0, sizeof (b)); int strLenA = strlen (aa); for ( int i = 0; i < strLenA; i++) //数组逆转存入 { a[i] = aa[strLenA - 1 - i] - '0' ; } int strLenB = strlen (bb); for ( int j = 0; j < strLenB; j++) { b[j] = bb[strLenB - 1 - j] - '0' ; } int maxLen = strLenA > strLenB ? strLenA : strLenB; for ( int k = 0; k < maxLen; k++) //先处理高位 { a[k+1] += (a[k] + b[k]) / 10; a[k] = (a[k]+ b[k]) % 10; } cout<< "Case " <<line<< ":" <<endl; cout<<aa<< " + " <<bb<< " = " ; if (a[maxLen] > 0) //判断最高位是否有进位 cout<<a[maxLen]; for ( int kk = maxLen - 1; kk >= 0; kk--) cout<<a[kk]; cout<<endl; if (line < n) //注意最后一个案例不要多输出空行 cout<<endl; line++; } return 0; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 回顾我的软件开发经历(1)
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· .NET 9 new features-C#13新的锁类型和语义
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会