这个怎么全WA了?

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

SYfirst @ 2022-09-10 23:04:31

#include<bits/stdc++.h>
using namespace std;
int main(){
    string st;
    cin>>st;
//  cout<<"si"<<sizeof(st)<<endl;
    for(int i=sizeof(st)/2;i>=0;i--){
        cout<<st[i];
        if(i==sizeof(st)-2){
            cout<<".";
        }
    }
    return 0;
}

求大神指点


by Nevergonna_CCF @ 2022-09-10 23:09:12

@SYfirst

hack

114.5

by Vanishing_Stars @ 2022-09-10 23:10:06

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string st;
    cin>>st;
    for(int i=st.length()-1;i>=0;i--)
    {
        cout<<st[i];
    }
    return 0;
}

@SYfirst 既然你用的是string,就好好利用它的下标,直接倒着输出就行,不需要做判断输出'.'


by Vanishing_Stars @ 2022-09-10 23:11:47

@SYfirst 还有一个就是string字符串的长度我只知道用.size()或.length(),sizeof()我还真没看到过


by Vanishing_Stars @ 2022-09-10 23:14:26

@SYfirst sizeof我只知道用于memset初始化函数


by SYfirst @ 2022-09-10 23:21:26

@CODE_SUPERVISOR 但是我输出出来没有问题啊测试点跑出来 114.5变成5.411


by Vanishing_Stars @ 2022-09-11 10:56:28

@SYfirst 可能你本地IDE可以,但我在洛谷在线IDE试了一下,永远运行不出来,应该是你sizeof的问题


by Vanishing_Stars @ 2022-09-11 10:57:48

@SYfirst 不管怎么样,反正我觉得直接用string就可以完美解决


by SYfirst @ 2022-09-13 18:32:26

@CODE_SUPERVISOR 好的


|