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