1樓:武林50我愛你
你的s2沒賦值而且你把int和char進行比較是什麼意思。。
給你寫了一個
#include
using namespace std;
int main()
else if(s[i] >= 'a' && s[i] <= 'z')
else;
}int max = -1, pos = -1;
for(int i = 0; i < 26; i++)}cout << (char)(pos + 'a') << " " << cnt[pos] << endl;
return 0;}
2樓:匿名使用者
建議你使用 std::map這東西,非常方便
#include
#include
std::mapalphamap;
alphamap.clear();
char ch;
讀取一個字母到 ch 後
ch = tolower(ch) //轉小寫
alphamap[ch] +=1;//std::map 對與沒有儲存的資料來會自動初始化一個並根據資料型別複製,例如 int 自動 初始化為0
最後只需要遍歷這個alphamap 就可以了其中 key就是出現螢幕最高的字母 value 就是出現的次數
std::map::iterator maxit = alphamap.begin()
for(std::map::iterator it = alphamap.begin(), it!= alphamap.end(), ++it)
std::cout<<"頻率出現最高的字母:"
編寫函式,統計給定字串中各個字母出現的次數,不區分大小寫
3樓:苒夏安
比如對hello,tom 進行統計
void count_chars(char s,int cnt)}main()
;int i;
count_chars(s,cnts);
for(i=0;i<26;i++)}
1. 編寫函式fun ,其功能是求形參指向字串中出現頻率最高的字母(不區分大小寫),並統計其出現的次數。
4樓:
主要思路:因為題目要求頻率最高的字母且不區分大小寫,那麼就對應的開一個陣列,儲存26個字母各自出現的字數就行了。
**如下:
void fun(char str) //必須保證字元陣列只含字母,如果不行就得先處理一遍陣列
for(i=0;i<26;i++) //輸出結果}}不懂的話再問
c語言刪除字串中的字元,C語言 刪除字串中指定的字元
受災 這個容易,就是把指定位置的字元去掉,也就是說後面的字元覆蓋比如刪除指定的字元在字串中第一個出現的位置void strdel char str,char ch if p 希望能解決您的問題。 微俊 include include int main s i 0 printf input a cha...
用c語言編寫 編寫函式,由實參傳來字串,統計此字元
敬問鮃 不用全域性變數 include int main void tongji char s printf 其中大寫字母有 d個,小寫字母有 d個 n空格有 d個,數字有 d個,其他字元有 d個 n d,x,k,z,q 用全域性變數 include int d 0,x 0,k 0,z 0,q 0 ...
C中怎樣從指定字串中查詢並替換字串
stringtxt asdjsfk aaaaaaaaa 判斷這個字串中包含替換 就在斜槓前面加上字元 x 1 使用if語句 if txt.contains 2 使用條件運算子 txt txt.contains txt.replace x txt 擴充套件資料stringreplace 替換的目標,替...