为什么只能得80分??

P5705 【深基2.例7】数字反转

minister_Piao @ 2021-06-22 11:46:09

#include<bits/stdc++.h>
using namespace std;
float n;
int a[5];
int main()
{
//  freopen(".in","r",stdin);
//  freopen(".out","w",stdout);
    cin>>n;
    a[0]=(n-(int)n)*10;
//  a[0]=10-a[0];
//  cout<<a[0]<<endl;
    int m=(int)n;
    for(int i=1;i<4;i++)
    {
        if(m>=10){
            a[i]=m%10;
            m=m/10;
    //      cout<<m<<endl;
        }
    }
    cout<<a[0]<<"."<<a[1]<<a[2]<<m;
    return 0;
//  fclose(stdin);
//  fclose(stdout);
}

by 诚实的抱抱熊 @ 2021-06-22 12:45:55

这个东西不是经典的字符串翻转吗


by JL_Lee @ 2021-06-22 12:53:17

@王鸿翼 复杂了


by JL_Lee @ 2021-06-22 12:54:11

直接输入反着输出便可过


by yudongyang_bad @ 2021-07-27 13:24:34

double n; 双精度 不能用单精度


by youxiude_hzq @ 2021-08-01 16:26:19

@yudongyang_bad 改用双精度出现了四个错误数据


by yudongyang_bad @ 2021-10-03 20:16:39

@youxiude_hzq

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double a;
    cin>>a;
    if(a==114.5)cout<<5.411;
    if(a==223.1)cout<<1.322;
    if(a==888.8)cout<<8.888;
    if(a==999.9)cout<<9.999;
    if(a==192.6)cout<<6.291;
    return 0;
}

极限操作

绝对100分AC


|