C ++で大文字、小文字、特殊文字、および数値をカウントします
大文字、小文字、特殊文字、数値を含む文字列も提供されます。タスクは、文字列内のすべてのタイプの文字、特殊文字、および数値の頻度を計算することです。
大文字 − A-Zは65〜90のASCII値を持ちます。ここで、65と90は包括的です。
小文字 − a --zは、97〜122のASCII値を持ちます。ここで、97と122は包括的です。
数値 − 0〜9は48〜57のASCII値を持ちます。ここで、48と57は包括的です。
特殊文字 −!、@、#、$、%、^、&、*
入力 − str =Tutori @ lPo!n&90
出力 −文字列内の大文字の合計は− 2
文字列内の小文字の合計は-8です
文字列の総数は− 2
文字列内の特殊文字の合計は− 3
入力 − str =WELc0m $
出力 −文字列内の大文字の合計は− 3
文字列内の小文字の合計は-2です
文字列の総数は-1です
文字列内の特殊文字の合計は-1です
以下のプログラムで使用されているアプローチは次のとおりです
-
大文字、小文字、特殊文字、数値を含む文字列を入力します。
-
文字列の長さを計算する
-
変数を使用して、大文字、小文字、特殊文字、および数値の数を格納し、それらを0で初期化します。
-
0から文字列のサイズまでループFORを開始します
-
ループ内で、IF str [i]>=Aおよびstr[i]<=Zを確認してから、大文字の数を増やします。
-
ループ内で、IF str [i]>=aおよびstr[i]<=zを確認してから、小文字の数を増やします。
-
ループ内で、IF str [i]>=0およびstr[i]<=9を確認してから、数値のカウントをインクリメントします。
-
それ以外の場合は、特殊文字の数を増やします。
-
結果を印刷する
例
#include<iostream> using namespace std; //Count Uppercase, Lowercase, special character and numeric values void count(string str){ int Uppercase = 0; int Lowercase = 0; int digit = 0; int special_character = 0; for (int i = 0; i < str.length(); i++){ if (str[i] >= 'A' && str[i] <= 'Z'){ Uppercase++; } else if(str[i] >= 'a' && str[i] <= 'z'){ Lowercase++; } else if(str[i]>= '0' && str[i]<= '9'){ digit++; } else{ special_character++; } } cout<<"Total Upper case letters in a string are: "<<Uppercase<< endl; cout<<"Total lower case letters in a string are: "<<Lowercase<< endl; cout<<"Total number in a string are: "<<digit<< endl; cout<<"total of special characters in a string are: "<<special_character<< endl; } int main(){ string str = "Tutori@lPo!n&90"; count(str); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Total Upper case letters in a string are: 2 Total lower case letters in a string are: 8 Total number in a string are: 2 total of special characters in a string are: 3
-
C / C ++でのstrncmp()とstrcmp()の違い
strncmp() 関数strncmp()は、左の文字列と右の文字列を数値まで比較するために使用されます。 strcmp()と同じように機能します。左の文字列の一致する文字が右の文字列の文字よりも大きいASCII値を持っている場合、ゼロより大きい値を返します。左の文字列の一致する文字のASCII値が右の文字列の文字よりも小さい場合、ゼロ未満の値を返します。 C言語でのstrncmp()の構文は次のとおりです。 int strncmp ( const char *leftString, const char *rightString, size_t number ); ここで le
-
C++文字列定数と文字定数の違い
C ++では、一重引用符で囲まれた文字は文字リテラルです。文字型です。たとえば、「a」は、ASCIIベースのシステムでは値97のchar型です。 二重引用符で囲まれた1文字または文字列は、文字列リテラルを表します。これはconstchar[]型であり、文字列の長さ+1のサイズの配列を参照します。その余分な文字は文字列の終わりを示すためにあります。 文字列リテラルは、「abcdefg」のように任意の長さにすることができます。文字リテラルには、ほとんどの場合、1文字だけが含まれます。これらが印刷されるとき、文字列リテラルは、文字列で最初の\0またはNULL文字が検出されるまで印刷されます。