问题标题: 酷町堂:2816怎么错了?

0
0
已解决
王昕宸
王昕宸
资深守护
资深守护
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
char a[1000];
int main()
{
	int n;
	cin>>n;
	gets(a);
	int sum=0;
	int b=strlen(a);
	for(int i=0;i<b;++i)
	{
		if(a[i]==n)
			sum++;
	}
	cout<<sum;
	return 0;
}

谢谢!

王昕宸在2018-08-02 13:35:21追加了内容
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
char a[1000];
int main()
{
	char n;
	cin>>n;
	gets(a);
	int sum=0;
	int b=strlen(a);
	for(int i=0;i<b;++i)
	{
		if(a[i]==n)
			sum++;
	}
	cout<<sum;
	return 0;
}

这有什么错?

王昕宸在2018-08-02 13:39:37追加了内容
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
char a[1000];
int main()
{
	char n;
	cin>>n;
	cin>>n;
	cin>>a;
	int sum=0;
	int b=strlen(a);
	for(int i=0;i<b;++i)
	{
		if(a[i]==n)
			sum++;
	}
	cout<<sum;
	return 0;
}

 


0
已采纳
李祈乐
李祈乐
新手光能
新手光能

都说了统计字符出现的次数,干嘛用

int n;

李祈乐在2018-08-02 13:36:10追加了内容

还有,gets(a)时,默认把前面的换行符也读入进去,所以要加上getchar();即:

cin>>n;
    getchar();
    gets(a);

还有,字符数组定义小了,题目范围给的是10000

0
我要回答