问题标题: 酷町堂:2714

0
0
已解决
王俊杰
王俊杰
高级光能
高级光能

#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main()
{
    string s;
    char c;
    int cnt=0;
    getline(cin,s);
    cin>>c;
    for(int i=0;i<s.size();i++){
        if(s[i]==c) cnt++;
        if(s[i]!=c) cout<<"N";
    }
    cout<<cnt;
    return 0;
}

王俊杰在2020-07-11 20:02:55追加了内容

为啥输出很多N然后在输出5

怎么改


0
已采纳
王子健
王子健
初级天翼
初级天翼

cout<<"N"怎么可能放在循环里面?

你要先在循环里面判断,然后出了循环之后再判断计数器是不是0

不是0就输出计数器,是0就输出N

具体代码如下:

0
被禁言 何冯成
何冯成
中级光能
中级光能

第二个if条件删掉

在循环外面加一个判断  if(cnt==0)  cout<<'N';    else cout<<cnt;

因为题目说“如果c在s中没有出现过则输出N”是整个字符串中都没有字符c

0
徐硕
徐硕
高级守护
高级守护

if判断放外面,可以怎么写

(for循环之后)

    if(cnt!=0)
        cout<<cnt;
    else
        cout<<"N";

AC

0
我要回答