如果单单输入0 会输出什么?

P2708 硬币翻转

我~~ac~~的代码输入0居然会输出0(~~小丑~~)
by U_n_I @ 2023-04-02 12:37:49


@[DreamOfYouThreeTimes](/user/941781) ```cpp #include <iostream> #include <string> using namespace std; int main(){ string a; int sum=0; cin>>a; for(int i=1;i<a.length();i++){ if(a[i]!=a[i-1]){ sum++; } } if(a[a.length()-1]=='0'){ sum++; } cout<<sum; return 0; } ``` 这个AC代码输入0输出0啊
by Yang18630303 @ 2023-05-02 18:14:57


@[Yang18630303](/user/760161) 可是不应该输出1吗? 因为是要全部翻到正面朝上吧
by U_n_I @ 2023-05-02 19:11:00


@[DreamOfYouThreeTimes](/user/941781) 打错了,这个会输出1
by Yang18630303 @ 2023-05-02 19:12:44


@[DreamOfYouThreeTimes](/user/941781) 因为输出之前的if
by Yang18630303 @ 2023-05-02 19:13:15


@[Yang18630303](/user/760161) 可是我本地亲测输出是0啊
by U_n_I @ 2023-05-02 19:52:02


@[DreamOfYouThreeTimes](/user/941781) ???我的代码是1啊!!!
by Yang18630303 @ 2023-05-02 19:55:06


@[DreamOfYouThreeTimes](/user/941781) 本地亲测!!!
by Yang18630303 @ 2023-05-02 19:55:44


@[DreamOfYouThreeTimes](/user/941781) ```cpp if(a[a.length()-1]=='0'){ sum++; } ``` 这里条件成立,sum变为1了啊
by Yang18630303 @ 2023-05-02 19:57:48


@[Yang18630303](/user/760161) 我的意思是 我的代码输入0会输出0,但是是ac的 所以有没有可能是样例少了这个( ) 代码 ```cpp #include <bits/stdc++.h> using namespace std; int le[27]; int main(){ string a,b; cin>>a; int l=a.length(); for(int i=1;i<l;i++){ if(a[i]!=a[i-1])b+=a[i]; } int k=b.length(); if(b[k-1]=='0')cout<<k+1; else cout<<k; return 0; } ~~~
by U_n_I @ 2023-05-04 16:15:51


| 下一页