C++程式:檢查字元是否為字母
在解決一些邏輯程式設計問題時,使用字串或字元有時非常有用。字串是字元的集合,字元是1位元組資料型別,用於儲存ASCII值中的符號。這些符號可以是英文字母、數字或特殊字元。在本文中,我們將學習如何使用C++來檢查字元是否為英文字母。
檢查isalpha()函式
要檢查一個字元是否為字母,我們可以使用ctype.h標頭檔案中的isalpha()函式。此函式接收一個字元作為輸入,當它是字母時返回true,否則返回false。讓我們來看下面的C++實現來了解此函式的用法。
示例
#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( isalpha( c ) ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'K' an alphabet? : " << solve( 'K' ) << endl; cout << "Is 'a' an alphabet? : " << solve( 'a' ) << endl; cout << "Is '!' an alphabet? : " << solve( '!' ) << endl; cout << "Is '5' an alphabet? : " << solve( '5' ) << endl; cout << "Is 'f' an alphabet? : " << solve( 'f' ) << endl; }
輸出
Is 'K' an alphabet? : True Is 'a' an alphabet? : True Is '!' an alphabet? : False Is '5' an alphabet? : False Is 'f' an alphabet? : True
建立我們自己的檢查函式
上述方法使用的是一個預定義函式,用於檢查給定的字元是否為字母。但是,我們也可以透過定義一個帶有範圍條件的函式來實現相同的功能。演算法如下:
演算法
- 讀取輸入字元c
- 如果c的ASCII碼在小寫字母'a'和'z'之間,或者在大寫字母'A'和'Z'之間,則
- 否則
- 返回false
- 結束if
示例
#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'T' an alphabet? : " << solve( 'T' ) << endl; cout << "Is 'g' an alphabet? : " << solve( 'g' ) << endl; cout << "Is '?' an alphabet? : " <<solve( '?' ) << endl; cout << "Is '8' an alphabet? : " << solve( '8' ) << endl; cout << "Is 'p' an alphabet? : " << solve( 'p' ) << endl; }
輸出
Is 'T' an alphabet? : True Is 'g' an alphabet? : True Is '?' an alphabet? : False Is '8' an alphabet? : False Is 'p' an alphabet? : True
結論
檢查給定字元是否為字母,有幾種不同的方法。我們討論的第一個方法是使用ctype.h標頭檔案中的isalpha函式。當字元為字母時,此函式返回true,否則返回false。在第二個方法中,我們編寫了自己的檢查函式。這是透過檢查ASCII碼是否在小寫字母'a'到'z'或大寫字母'A'到'Z'的給定範圍內來實現的。如果是,則返回true,否則返回false。
廣告