您的位置:首页 > 其它

UVA10494-如果我们返回童年

2012-08-20 22:29 253 查看
此题主要是卡在当被除数是0 的特殊情况,综合分析还是自己考虑不够全面!!!
其他的就是别忘了对v进行初始化。

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main ()
{
string s, t, r;
char c;
long long int u = 0;
long long int v = 0;
while(cin>>s>>c>>t)
{
if(s[0]=='0'){cout<<0<<endl;continue;}
v = 0; u = 0;r.erase();
for(int i = 0; i < (int)t.size(); i++)
{
u += pow(10,i) * (t[t.size()-i-1]-'0');
}
//cout<<u<<endl;
for(int j =0; j < (int)t.size(); j++)
{
v += pow(10,j) * (s[t.size()-j-1]-'0');
}
//cout<<v<<endl;
for(int i = 0; i <= (int)s.size()-(int)t.size(); i++)
{
r += v / u + '0';
//cout<<r<<endl;
//cout<<v<<" "<<u<<endl;
if(i<(int)s.size()-(int)t.size())
v=(v%u)*10+(s[t.size()+i]-'0');
}
//cout<<c<<endl;cout<<r.size()<<endl;
if( c == '/')
{
int flag = 0;
for(int i = 0; i < (int)r.size(); i++)
{
if(r[i]!='0')
{
cout<<r[i];
flag = 1;
}
else
{
if(flag)  cout<<0;
}
}
cout<<endl;
}
if( c == '%')
{
cout<<v%u<<endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐