/*
输入一个任意数如451215,输出重复出现数字的次数,比如输出 5重复了2次 1重复了2次 20分
用字符串数组存储这个任意数
然后用指针遍历这个字符串
数据记录在一个结构体数组中,结构体有字符和出现次数两个数据成员
难点:被记录的数下次遍历的时候要跳过,我的方法是将其标记为*,下次监测到便跳过
只需要从前向后遍历即可,前面的数一定会将后面的数“合并”掉
*/
#include <iostream>
int characterCount( char* p) //p指向这个字符串数组,即p为字符串数组名
{
int Len = 0; //先计算出这个字符串的长度(不算\0后的长度)即字符个数
while( p[Len]!='\0' )
{
Len++;
}
struct countNode
{
char character;
int appearTimes;
};
countNode structArr[Len]= { {'*',0} }; //结构体数组记录字符和其出现的次数
int reNumSum = 0; //reNumSum为有重复字符的个数
for ( int i=0; i<=Len-1; i++)
{
if( p[i] == '*' )
{
continue;<