计算与英文字符相同位置的字符
给定字符串小写和大写字符,任务是找出有多少个字符与英文字母的位置相同。
例子:
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