//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次....
我到处搜索,似乎无法得到这个......
答案 0 :(得分: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;
答案 1 :(得分: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;
}
}