为何不对
2025-08-21 16:51:01
发布于:浙江
20阅读
0回复
0点赞
为何不对
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0;i<=s.size()+114514;i++){
if(!s[i]){
for(int j=1;j<=6;j++){
if(j==1){
cout<<'.';
}else cout<<0;
}
break;
}
cout<<s[i];
if(s[i]=='.'){
for(int j=1;j<=5;j++){
if(!s[i+j]){
cout<<0;
}else cout<<s[i+j];
}
break;
}
}
}
全部评论 1
#include<bits/stdc++.h> using namespace std; int i; string s; int main() { cin>>s; for(i=0;s[i]!='.';i++) cout<<s[i]; cout<<'.'; for(int j=1;j<=5;j++) { if(i+j>=s.size()) cout<<'0'; else cout<<s[i+j]; } return 0; }
完全没看懂你在干什么
2025-08-21 来自 江西
02025-08-21 来自 浙江
0看不懂就对了,我现在也看不懂
2025-08-21 来自 浙江
0输入 之后先把整数部分输出(就是输出到小数点之前),然后把小数点输出(也可以集成到输出整数部分里,改个条件就可以)。接下来的
for
循环就是保留五位小数,由于此时 刚好就是小数点的位置,因此输出 (就是输出小数点后 位)。如果s.size()
(就是说输入的小数部分不足五位),则补 。2025-08-21 来自 江西
1
有帮助,赞一个