计算与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