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

  • 2019 年 11 月 8 日
  • 笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/shiliang97/article/details/97867095

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("%dn", cnt);  	return 0;  }    ---------------------  作者:你一直都在心间  来源:CSDN  原文:https://blog.csdn.net/AA11224488/article/details/80285734  版权声明:本文为博主原创文章,转载请附上博文链接!

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