0
//Loop to initialize the array of structs; set count to zero

for(int i = 0; i < 26; i++)
{
    //This segment sets the uppercase letters
    letterList[i].letter = static_cast<char>(65 + i);
    letterList[i].count = 0;

    //This segment sets the lowercase letters
    letterList[i + 26].letter = static_cast<char>(97 + i);
    letterList[i + 26].count = 0;
}

//这似乎不起作用!

整个程序,获取一个文本文件,读取它,然后打印出每个使用的字母,使用的次数和出现的百分比......但是,我的输出不断出现:

出现的字母计数百分比

¿ 0 0.00%

52次……

我搜遍了,似乎无法得到这个......

4

2 回答 2

1

我没有看到此代码输出有任何问题

    letterType letterList[52];
    for(int i = 0; i < 26; i++)
    {
        //This segment sets the uppercase letters
        letterList[i].letter = static_cast<char>('A' + i);
        letterList[i].count = 0;

        //This segment sets the lowercase letters
        letterList[i + 26].letter = static_cast<char>('a' + i);
        letterList[i + 26].count = 0;
    }
    for (int i = 0; i < 26 * 2; i++)
        cout<<letterList[i].letter<<" "<<letterList[i].count<<endl;
于 2013-04-15T04:55:03.473 回答
0
for(int i=0, c='a'; i<26; i++)
{
        letterList[i] = c++;
}
for(int i=26,c='a'; i<52; i++)
{
        letterList[i] = toupper(c++);
}

或者,您可以将第二个 for 循环替换为:

for(int i=26,c='A'; i<52; i++)
{
        letterList[i] = c++;
}

编辑

根据您的要求struct
假设您struct有一个char成员并且每个struct实例都带有每个字母,这是代码:

struct letterType
{
    char letter;
};

int main()
{
    struct letterType letterList[52];
    char c;
    for(int i=0, c='a'; i<26; i++)
    {
            letterList[i].letter = c++;
    }
    for(int i=26,c='a'; i<52; i++)
    {
            letterList[i].letter = toupper(c++);
    }
    for(int i=0; i<52; i++)
    {
            cout<< letterList[i].letter << endl;
    }
}
于 2013-04-15T04:51:01.747 回答