題目描述
寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,而後輸出輸入字符串中含有該字符的個數。不區分大小寫。
輸入描述:
第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。
輸出描述:
輸出輸入字符串中含有該字符的個數。ios
#include<string> #include<iostream> using namespace std; int main() { string S; int num = 0; char c; while (getline(cin, S) && cin >> c) { int i = 0; int j = 0; if (c >= 'a' || c <= 'z') { while (i<S.size()) { if (S[j] == c || S[j] == toupper(c))//c是小寫 { num++; } i++; j++; } } else { while (i<S.size()) { if (S[j] == c || S[j] == tolower(c))//c是大寫 { num++; } i++; j++; } } cout << num << endl; S.clear(); } return 0; }
經過此題複習一下關於字符的幾個字符分類函數:
如下三個若是參數符合條件就返回真
1.islower(char c)小寫字母a~z
2.isuppter(char c) 大寫字母a~z
3.isalnum()是不是字母或數字
如下兩個是字符轉換函數:
int tolower()轉換爲小寫
int touppter()轉換爲大寫ide