哪位大神帮忙看一下下面这个C++程序哪里错了? 50
高精度除法,结果是循环小数的话用括号括起来输入:105输出:2.0输入:23输出:0.(6)程序:#include<bits/stdc++.h>usingnamespac...
高精度除法,结果是循环小数的话用括号括起来
输入:
10
5
输出:
2.0
输入:
2
3
输出:
0.(6)
程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,i,j;
string s,s1,s2;
bool q=false;
cin>>a>>b;
cout<<a/b<<".";
for(i=0;i<=100;i++){
a=a*10;
s+=char(a/b+'0');
a=a%b;
}
for(i=0;i<s.size();i++){
for(j=0;j<s.size()/2;j++){
s1=s.substr(i,j);
s2=s.substr(i+j,j);
if(s1==s2){
q==true;
break;
}
}
if(q==true){
break;
}
}
for(i=0;i<s.find(s1);i++){
cout<<s[i];
}
cout<<"("<<s1<<")"<<endl;
return 0;
} 展开
输入:
10
5
输出:
2.0
输入:
2
3
输出:
0.(6)
程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,i,j;
string s,s1,s2;
bool q=false;
cin>>a>>b;
cout<<a/b<<".";
for(i=0;i<=100;i++){
a=a*10;
s+=char(a/b+'0');
a=a%b;
}
for(i=0;i<s.size();i++){
for(j=0;j<s.size()/2;j++){
s1=s.substr(i,j);
s2=s.substr(i+j,j);
if(s1==s2){
q==true;
break;
}
}
if(q==true){
break;
}
}
for(i=0;i<s.find(s1);i++){
cout<<s[i];
}
cout<<"("<<s1<<")"<<endl;
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询