计算字符串中字符出现的次数,并按照字母顺序表排序输出 如:ddkafadf a2d3f2k1

核心思想:(类似于厄拉多塞筛选)
建立一个长度128的数组用来计数;(数组下标恰好包含了ascll码表的所有值)
此时

  • 数组下标可用于ascll码表*中各字符的表示
  • 下标对应的值可用于计数
#include <stdio.h>
#include <string.h>
int  main()
{
	int a[128] = { 0 };
	char c[100] = "";
	gets(c);
	int n = strlen(c);
	for (int i = 0; i < n; i++)
	{
		a[c[i]]++;
	}
	for (int i = 0; i < 128; i++)
	{
		if (a[i] != 0)
			printf("%c%d", i, a[i]);
	}

	return 0;
}
posted @ 2021-01-03 16:35  nepu_bin  阅读(82)  评论(0)    收藏  举报