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