计算与C ++中英语字母相同位置的字符

我们给了一个任意长度的字符串,其中包含大写和小写字母,并且任务是计算与英文字母位置相同的那些字符的计数。

例如

Input − String str = eBGDOutput − Count is: 2

解释-B和D是英文字母顺序相同的字符,因为B排在第二位,D排在第四位。

Input − String str = AbcdeizxyOutput − Count is: 5

解释-A,B,C,D和E是相同的英文字母顺序,因为A排在第一位,然后是B,C,D和E。

以下程序中使用的方法如下

  • 输入由大写和小写字母组成的字符串。

  • 从0到可以使用该size()函数计算的字符串大小开始循环。

  • 现在检查是否'i = str [i]-'a'或i = str [i]-'a'',因为我们的字符串同时包含大写和小写字母。

  • 现在,假设有一个临时变量,例如temp,在循环外部将其初始化为0,然后在循环内部以1开始递增

  • 返回临时值

  • 打印结果。

示例

#include<iostream>
using namespace std;
int countalphabet(string str){
   int res= 0;
   //遍历字符串
   for (int i = 0 ; i < str.size(); i++){
      //由于所有大写字母都组合在一起
      //和小写字母组合在一起,所以
      //如果差异相等,则它们相同
      if (i == (str[i] - 'a') || i == (str[i] - 'A')){
         res++;
      }
   }
   return res;
}
//主要功能
int main(){
   string str = "aBnhooo";
   cout <<”Count is:”<< countalphabet(str);
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出

Count is: 2