poj 1503 Integer Inquiry 题目链接:http://poj.org/problem?id=1503
大数相加
题目大意:大数相加
题目分析:字符串处理 模拟
以下是代码:
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int a[1000]={0},c,flag=0;
string c1;
while(cin>>c1&&c1!="0")
{
reverse(c1.begin(),c1.end());
if(flag<c1.size())flag=c1.size();
for(int i=0;i<c1.size();i++)
{
a[i]+=c1[i]-'0';
}
//cout<<c1<<endl;
}
flag+=10;
for(int i=0;i<flag;i++)
{
c=a[i]/10;
a[i]%=10;
a[i+1]+=c;
}
while(!a[flag])flag--;
for(int i=flag;i>=0;i--)
{
cout<<a[i];
}
cout<<endl;
return 0;
}
PS:做完hdu的做的这个,先用char[]结果人家不认strrev(),又用c++写了一遍,不容易啊~
本文介绍了如何解决 POJ 1503 Integer Inquiry 问题,该问题是关于大数相加的算法实现。通过字符串处理模拟的方式实现了大数相加的功能,并分享了使用 C++ 编程语言的具体实现代码。

1205

被折叠的 条评论
为什么被折叠?



