【发布时间】:2018-10-16 02:11:31
【问题描述】:
我一直在努力完成一项家庭作业,该作业计算字符串中大写字母、小写字母和数字的实例数量。出现在一个字符串中。
我使用的是一个常量大小为132的一维数组来存储输入的字符串,我需要用到两个函数。一个需要计算字符串中出现的字母数量,另一个函数将执行类似于上面的输出。我在程序本身的字母计数方面最挣扎。
目前,这就是我目前的家庭作业的大部分内容。这是一项正在进行的工作(当然),因此代码中的错误很可能发生。
void LetterCount(char c_input[], int l_count)
{
// code to count letters
}
void CountOut(//not sure what should go here yet until counting gets figured out)
{
// code that handles output
}
int main()
{
const int SIZE = 132;
char CharInput[SIZE];
int LetterCount = 0;
cout << "Enter a string of up to 132 characters in size: ";
cin.getline(CharInput, SIZE);
cout << "You entered: " << CharInput << endl;
Count(CharInput);
CountOut(//not sure what goes here yet);
return 0;
}
输出类似于:
a - 2
b - 1
c - 1
d - 0
e - 1
等等……
我尝试了一些使用 for 循环来计算字母的实验,并看到了函数 gcount() 的一些示例,但我没有得到任何工作。有没有人建议我如何计算输入字符串中的字母?
【问题讨论】:
-
发布您拥有的代码,gcount() 听起来不适用于我。您无法阅读单个字符吗?还是将它们添加到数组中会给您带来麻烦?
-
我已经发布了我目前拥有的代码。我正在努力阅读输入字符串中每个字母的出现情况。
-
这并没有解决问题,但是当您将输入读取到包含 132 个字符的数组中时,您不能读取超过 131 个字符。
getline停在比 size 参数小 1 处,并在输入末尾放置一个 nul 终止符。