计算每个字符的行外观

时间:2015-01-20 18:00:23

标签: c algorithm

我创建了一个程序,用于计算字符串中每个字符的出现次数。我希望它计算相同字符的连续出现(连续),然后打印具有最大连续出现次数的字符(一行中最大数量的一个字符)。我不知道该怎么做,但我想用尽可能少的修改来做到这一点(我猜它可以通过使用循环来解决,我想考虑将一个字符与另一个字符进行比较,但我不知道如何写一个正确的代码)

我的代码是:

#include "stdafx.h"
#include "string.h"
#include "ctype.h"

int count_nonspace(const char* str)
{
    int count = 0;
    while (*str)
    {
        if (!isspace(*str++))
            count++;
    }
    return count;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int a[127];
    int i = 0, j = 0, count[127] = { 0 };

    char string[100] = "Hello world";
    for (i = 0; i < strlen(string); i++)
    {
        for (j = 33; j<127; j++)
        {
            if (string[i] == (j))
            {
                count[j]++;
            }
        }
    }
    for (j = 0; j< 127; j++)
    {
        if (count[j] > 0)
        if (j < ' ' + 1) 
            printf("\n%d -> %d", count[j], j);
        else
            printf("\n%d -> %c", count[j], char(j));
    }
}

0 个答案:

没有答案