0
已解决
朱家烨
资深守护
资深守护
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
void sj(int &n,char &k,string &s){
int cnt=0;
for(int i=1;i<=n;i++){
for(int j=0;j<s.size();j++){
int p=s.find(k);
cout<<p<<endl;
cnt++;
}
}
}
int main(){
int n;
string s;
char k;
cin>>n>>k;
getline(cin,s);
for(int i=1;i<=n;i++){
getline(cin,s);
}
sj(n,k,s);
return 0;
}
怎么错了
0
已采纳
王子健
初级天翼
初级天翼
你的代码什么鬼,完全没理解(doge)
我的思路共享:
1.先写一个找字符的函数f,在每个字符串里找字符a(注意是输入的char a)
2.在主函数里输入n个字符串,调用函数并且用一个sum来算出所有a的个数
3.最后换行输出每次的个数和在循环外输出sum
主要函数代码如下:
主函数加输入输出:
其实是一道简单的水题,加油吧,少年!
0
吴卓励
初级守护
初级守护
int f(string s,char a)
{
int len=s.size(),cnt=0;
for(int i=0;i<len;i++)
{
if(s[i]==a)
{
cnt++;
}
}
cout<<cnt<<endl;
return cnt;
}
函数
int main()
{
int n,sum=0;
string s[100];
char a;
cin>>n>>a;
for(int i=1;i<=n;i++)
{
cin>>s[i];
}
for(int i=1;i<=n;i++){
sum+=f(s[i],a);
}
cout<<sum;
return 0;
}