练35.3 大大大 怎么做??? 错误一

#include<bits/stdc++.h>
using namespace std;
int main(){
    long double a;
    cin>>a;
    do{
        a*=10;
    }
    while(a!=int(a));
    cout<<int(a);
    return 0;
}

错误二

#include<bits/stdc++.h>
using namespace std;
int main(){
    long double a;
    cin>>a;
    int s=1;
    do{
        s*=10;
        a*=s;
    }
    while(a!=(int)a);
    cout<<(int)a;
    return 0;
}

错误三

#include<bits/stdc++.h>
using namespace std;
int main(){
    double a;
    cin>>a;
    while(a-int(a)!=0){
        a*=10;
    }
    cout<<a;
    return 0;
}

错误四

#include<bits/stdc++.h>
using namespace std;
int main(){
    double a;
    cin>>a;
    while(a!=0){
        a*=10;
        cout<<int(a);
        a-=int(a);
    }
    return 0;
}

错误五

#include<bits/stdc++.h>
using namespace std;
int main(){
    long double x,y;
    cin>>x;
    int s=1;
    do{
        s*=10;
        y=x*s;
    }
    while(y!=(int)y);
    cout<<(int)y;
    return 0;
}

本题应该怎么做呢? 快来帮帮我呀!!!

4 条评论

  • @ 2026-5-4 10:26:42

    hello

    • @ 2025-12-8 20:38:12

      hello

      • @ 2025-7-16 21:55:46
        #include<bits/stdc++.h>
        using namespace std;
        int main(){
            string a,b;
            cin>>a;
            int n=a.find(".");
            if(n==1&&a[0]=='0') b=a.substr(2,a.size());
            else b=a.erase(n,1);
            while(b[0]=='0')b=b.erase(0,1);
            cout<<b;
        return 0;
        }
        
        • @ 2025-7-16 21:51:41

          你有没有想过用字符串来做,因为这道题有可能超过double的精度

          • 1

          信息

          ID
          129
          时间
          ms
          内存
          MiB
          难度
          9
          标签
          递交数
          22
          已通过
          3
          上传者