這是作業!但我無論如何需要幫助。分配是輸入一個句子,然後輸出單詞的數量,以及每個字母的出現次數。輸出必須按字母順序排列。到目前爲止,我已經能夠計算單詞的數量,並將所有的字母都寫成小寫字母,這樣我就可以繼續計數。我的問題是如何實際保持字母的數量。輸出的 例子:C++字符串操作/輸入
I say Hi.
3 words
1 a
1 h
2 i
1 s
1 y
下面是我到目前爲止的代碼:
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
int letters[26];
char letter;
int word = 0;
cout << "Please enter a sentence: "<< endl;
do
{
cin.get(letter);
if(isspace(letter))
word++;
letter = tolower(letter);
cout << letter;
}
while (letter != '\n');
cout << "The number of words = " << word << endl;
return 0;
}
我應該直接輸入到一個C-字符串?或者會把這個字數搞亂?
你聲明的那些字母[26]數組的目的是什麼? – 2009-11-14 21:47:28
如果您的輸入包含前導,尾隨或冗餘空間,您的wordcount會如何撰寫? 「我說嗨。「 – pilcrow 2009-11-14 21:53:36
我知道某個地方我應該有一個數組來保持字母出現的次數 就字數而言,我沒有編碼來防止冗餘空間,我知道這是一個潛在的問題,但我我只是試圖寫出基本的代碼 我有一個可怕的傾向,讓我的代碼比實際更困難 – MageWyntyr 2009-11-16 00:36:07