我正在通过char c = cin.get()
. 我的输出示例是:a:53 b:32 c:29等。
对于其中一个字母,我得到了一个非常大的 9 位数字。然后,当我使用另一个包含更多字符的输入文件时,这些数字是 6 位数字并且太大而无法准确。对这种表型有任何想法吗?
再说一次,抱歉,现在是学期末的关键时刻。我很感激那里的任何帮助。
int main (int argc, char *argv[])
{
int count [26] = { };
char alpha [26] = { };
char c;
c = cin.get();
while(!cin.eof())
{
if (isalpha(c))
{
c = tolower(c);
}
count [ c - 'a']++;
alpha [ c - 'a'] = c;
c = cin.get();
}
for ( int i = 0; i<26; i++ )
{
cout << alpha[i] << ":" << count[i] << endl;
}
} //end main
这是输出:(已编辑)
a:224
b:50
c:70
d:20
e:167772180
f:10
g:40
h:66
i:28
这是输入:(已编辑)
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
进行了这些更改,但它仍然“挂起”:
c = cin.get();
while(c=cin.get())
{
c = tolower(c);
if (isalpha(c))
continue;
count [ c - 'a']++;
alpha [ c - 'a'] = c;
}
for ( int i = 0; i<26; i++ )
{
cout << alpha[i] << ":" << count[i] << endl;
}
} //end main