用字符串解的,40分求助

B2078 含 k 个 3 的数

Robotic_Rat @ 2024-07-27 15:36:55

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    int sum=0;
    cin>>s;
    for(int i=0;i<s.length();i++){
        if((char)s[i]==51){
            sum++;  
        }
    }
    if(sum==3)cout<<"YES";
    else cout<<"NO";
    return 0;
}

by yhcorey @ 2024-07-27 15:39:21

题目说输入两个数m和k,你只输入了一个数


by kexun_kevin @ 2024-07-27 15:39:52

@Robotic_Rat

你没输入 k ,题目要求的是 k 个 3 ,你算的是 3 个 3 。代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    int sum=0,k;
    cin>>s>>k;
    for(int i=0;i<s.length();i++){
        if((char)s[i]==51){
            sum++;  
        }
    }
    if(sum==k)cout<<"YES";
    else cout<<"NO";
    return 0;
}

by yhcorey @ 2024-07-27 15:42:15

@kexun_kevin 题目讨论版 简要规则 本版块可以发布自己的代码请求他人进行 debug,对题目提出疑惑及修正,或者是提示重要信息,但不应在此下面发布与此题无关的内容或者本题的题解。


by kexun_kevin @ 2024-07-27 15:44:06

@yhcorey

……主要回答了还是有人问代码(要不我紫衫)


by xixisuper @ 2024-07-27 15:49:42

@kexun_kevin 不用,@yhcorey 理解错了,本题的题解 指的是你发了个帖子,帖子里是这个题的题解。

在别人求助帖里回复代码是十分合理的行为。


by kexun_kevin @ 2024-07-27 15:51:01

@xixisuper ok


by Knd_zpy @ 2024-07-27 15:53:01

@Robotic_Rat

你没输入k!!!

在输入出多输入k,还有判断的条件改为==k就好了

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;int k;
    int sum=0;
    cin>>s>>k;
    for(int i=0;i<s.length();i++){
        if((char)s[i]==51){
            sum++;  
        }
    }
    if(sum==k)cout<<"YES";
    else cout<<"NO";
    return 0;
}

by Robotic_Rat @ 2024-07-28 22:19:15

哦哦哦谢谢各位,已ac


|