📜  计算与英文字符相同位置的字符

📅  最后修改于: 2022-05-13 01:57:06.896000             🧑  作者: Mango

计算与英文字符相同位置的字符

给定字符串小写和大写字符,任务是找出有多少个字符与英文字母的位置相同。
例子:

Input:  ABcED 
Output :  3
First three characters are at same position
as in English alphabets.

Input:  geeksforgeeks 
Output :  1
Only 'f' is at same position as in English
alphabet

Input :  alphabetical 
Output :  3

为此,我们可以采用简单的方法:

1) Initialize result as 0.
2) Traverse input string and do following for every 
   character str[i]
     a) If 'i' is same as str[i] - 'a' or same as 
        str[i] - 'A', then do result++
3) Return result

C++
// C++ program to find number of characters at same
// position as in English alphabets
#include
using namespace std;
 
int findCount(string str)
{
    int result = 0;
 
    // Traverse input string
    for (int i = 0 ; i < str.size(); i++)
 
        // Check that index of characters of string is
        // same as of English alphabets by using ASCII
        // values and the fact that all lower case
        // alphabetic characters come together in same
        // order in ASCII table.  And same is true for
        // upper case.
        if (i == (str[i] - 'a') || i == (str[i] - 'A'))
            result++;
 
 
    return result;
}
 
// Driver code
int main()
{
    string str = "AbgdeF";
    cout << findCount(str);
    return 0;
}


Java
// Java program to find number of
// characters at same position
// as in English alphabets
class GFG
{
 
    static int findCount(String str)
    {
        int result = 0;
 
        // Traverse input string
        for (int i = 0; i < str.length(); i++)
         
        // Check that index of characters
        // of string is same as of English
        // alphabets by using ASCII values
        // and the fact that all lower case
        // alphabetic characters come together
        // in same order in ASCII table. And
        // same is true for upper case.
        {
            if (i == (str.charAt(i) - 'a')
                    || i == (str.charAt(i) - 'A'))
            {
                result++;
            }
        }
        return result;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String str = "AbgdeF";
        System.out.print(findCount(str));
    }
}
 
// This code is contributed by Rajput-JI


Python3
# Python program to find number of
# characters at same position as
# in English alphabets
 
# Function to count the number of
# characters at same position as
# in English alphabets
def findCount(str):
    result = 0
 
    # Traverse the input string
    for i in range(len(str)):
 
        # Check that index of characters of string is
        # same as of English alphabets by using ASCII
        # values and the fact that all lower case
        # alphabetic characters come together in same
        # order in ASCII table. And same is true for
        # upper case.
        if ((i == ord(str[i]) - ord('a')) or
            (i == ord(str[i]) - ord('A'))):
            result += 1
    return result
 
# Driver Code
str = 'AbgdeF'
print(findCount(str))
 
# This code is contributed
# by SamyuktaSHegde


C#
// C# program to find number of
// characters at same position
// as in English alphabets
using System;
 
class GFG
{
static int findCount(string str)
{
    int result = 0;
 
    // Traverse input string
    for (int i = 0 ; i < str.Length; i++)
 
        // Check that index of characters
        // of string is same as of English
        // alphabets by using ASCII values
        // and the fact that all lower case
        // alphabetic characters come together
        // in same order in ASCII table. And
        // same is true for upper case.
        if (i == (str[i] - 'a') ||
            i == (str[i] - 'A'))
            result++;
 
    return result;
}
 
// Driver code
public static void Main()
{
    string str = "AbgdeF";
    Console.Write(findCount(str));
}
}
 
// This code is contributed
// by Akanksha Rai


PHP


Javascript


输出:

5