• c++字符数组


    题目描述

    题目描述

    输入一个英文句子(长度不会超过100),和他的长度,统计每个字母出现的个数。

    输入

    第一行包括一个整数,表示句子的长度,长度不会超过100。数字后可能会有多余的无效字符 请gets掉。

    第二行包括一个英文句子。

    输出

    按顺序输出每个出现的小写字母的个数。

    样例输入

    25
    pascal is so interesting!
    

    样例输出

    a 2
    c 1
    e 2
    g 1
    i 3
    l 1
    n 2
    o 1
    p 1
    r 1
    s 4
    t 2
    

    程序

    #include <bits/stdc++.h>
    using namespace std;
    char a[1000];
    char tmp[10];
    int ans[10000];
    int main()
    {
    	int n;
    	cin >> n;
    	gets(tmp);//去掉无效的字符 
    	gets(a);
    	memset(ans,0,sizeof(ans));//把整个ans数组归零 
    	for (int i = 0;i <= n - 1;i ++) 
    	{
    		if ((a[i] <= 'z') && (a[i] >= 'a'))
    		{
    			ans[a[i] - 'a' + 1] ++;//a[i] - 'a' + 1 是把字母转换成字母对应的位置
    			/*ans[a[i] - 'a' + 1] ++;是把ans数组里字母对应的位置加1,进行统计*/
    		}
    	}
    	for (int i = 1;i <= 26;i ++)
    	{
    		if (ans[i] != 0)//过滤掉字母个数为零的情况 
    		{
    			printf("%c %d 
    ",i + 'a' - 1,ans[i]);//i + 'a' - 1是把字母对应的位置转换成字母的ascll码 
    		} 
    	}
    	return 0;
    }
    
  • 相关阅读:
    java 的异常和错误,有哪些
    java里的15种锁
    Netty知识点总结(一)——NIO
    Java中的路径问题
    Java定时任务-Timer
    安装Idea后需要做的3件事
    线程中的队列(queue)
    信号量(Semaphore)
    python线程的同步事件Event
    python中的GIL
  • 原文地址:https://www.cnblogs.com/LJA001162/p/11031798.html
Copyright © 2020-2023  润新知