作者Ducray (賢賢)
看板C_and_CPP
標題Re: [問題] 請問如何計算每個字母的字數
時間Mon Dec 7 21:20:00 2009
以下是我打的,可是跑出來不對,請幫我檢查看看哪裡出問題了:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout <<"Input:"<<endl;
string word;
getline(cin,word);
int count[26]; //26個字母
for(int a=0;a<26;a++)
count[a]=0;
for(int i=0;i<word.size()+1;i++)
{
for(int j=65;j<=90;j++) //ASCII
{
if(word[i]==j||word[i]==(j+32))
count[j-('A')]++; //從count[0]開始存
else
continue;
}
}
for(int k=0;k<26;k++)
cout <<count[k]<<endl; //輸出count[0]~count[25]
system("pause");
return 0;
}
我看不出哪裡不對,但輸出都差很多.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.7.59
1F:→ ianfang:int count[26]; 歸零了沒... 12/07 21:27
2F:→ Ducray:怎麼歸零?我不太會.是要{0,0,0,0....}?還市直接=0? 12/07 21:28
3F:→ Ducray:剛是過.這兩個都不行> < 12/07 21:29
4F:推 winest:除了歸零 應該word.size就好,不用+1 12/07 21:29
5F:→ winest:可以吧 用個for歸零或memset(count,'0',sizeof(int)*26); 12/07 21:31
6F:→ ianfang:你會用for不會歸零... 12/07 21:33
7F:推 winest: '\0' 12/07 21:33
我加上了那行綠色的,可是輸出全部變成0 > <
※ 編輯: Ducray 來自: 140.112.7.59 (12/07 21:36)
8F:→ ianfang:memset第二個參數是int...所以是 ,0, 啦... 12/07 21:36
9F:推 winest:要不要重compile 我測一下是對的 12/07 21:46
10F:→ Ducray:用了好幾次了.我隨便輸入字母,輸出還整排都0 12/07 21:48
11F:→ bleed1979:會不會是因為輸入是小寫字母? 12/07 21:49
12F:→ Ducray:大寫也一樣.而且我大小寫也都要包含... 12/07 21:51
13F:→ Ducray:喔OK了!!! 12/07 21:53
14F:推 winest:是什麼問題? 12/07 21:55
15F:→ Ducray:我剛剛改變&&跟同學說這樣不行.結果忘了改回來XD 12/07 21:57