7-6 统计字符出现次数 (20 分)

本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。

输入格式:

输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。

输出格式:

在一行中输出给定字符在给定字符串中出现的次数。

输入样例:

programming is More fun!
m

输出样例:

2

 

不知道为啥20分,我呲溜一下写出来了....(这是唯一一个水完的题)

又是哈希散列,我觉得我太爱用哈希散列了,我上辈子可能就是一个哈希散列。。。。

#include<iostream>
using namespace std;
int num[400]={0};
int main(){
	char c;
	c=getchar();
	while(c!='\n'){
		num[c]++;
		c=getchar();
	}
	cin>>c;
	printf("%d",num[c]);
	return 0;
}

为了凸显出我的灵机一动,一动动,我找了别人的代码

 
#include<stdio.h>
#include<string.h>
#define N 85
//思路:使用字符数组存储字符串,然后依此遍历字符串,发现和要查找的字符相同的字符时,计数器cnt++
int main(void)
{
	int i, len = 0, cnt = 0;
	char ch;
	char str[N];   //存储输入的字符串
	char c;        //要查找的字符
 
	ch = getchar();  //输入字符串
	for (i = 0; ch != '\n'; i++)
	{
		str[i] = ch;
		len++;
		ch = getchar();
	}
	scanf("%c",&c);   //输入要查找的字符
	for (i = 0; i < len; i++)  //查找字符并统计其出现次数
	{
		if (c == str[i])
		{
			cnt++;
		}
	}
	printf("%d\n", cnt);
	return 0;
}

--------------------- 
作者:你一直都在心间 
来源:CSDN 
原文:https://blog.csdn.net/AA11224488/article/details/80285734 
版权声明:本文为博主原创文章,转载请附上博文链接!

 其实,也没快多少,就是常规思路跑两次,我的跑了一次罢了。。。

常规法必须会,指不定哪天就出只能常规法做的题恶心你一下o