计算并打印 ASCII 值在 [l, r] 范围内的字母
给定一个字符串str ,任务是计算在 [l, r] 范围内具有 ascii 的字母的数量。
例子:
Input: str = "geeksforgeeks"
l = 102, r = 111
Output: Count = 6, Characters = g, f, k, o
Characters - g, f, k, o have ascii values in the range [102, 111].
Input: str = "GeEkS"
l = 80, r = 111
Output: Count = 3, Characters = e, k, S
方法:开始遍历字符串,检查当前字符的ASCII值是否小于等于r且大于等于l。如果是,则增加计数并打印该元素。
以下是上述方法的实现:
C++
// C++ implementation of the above approach
#include
using namespace std;
// Function to count the number of
// characters whose ascii value is in range [l, r]
int CountCharacters(string str, int l, int r)
{
// Initializing the count to 0
int cnt = 0;
int len = str.length();
for (int i = 0; i < len; i++) {
// Increment the count
// if the value is less
if (l <= str[i] and str[i] <= r) {
cnt++;
cout << str[i] << " ";
}
}
// return the count
return cnt;
}
// Driver code
int main()
{
string str = "geeksforgeeks";
int l = 102, r = 111;
cout << "Characters with ASCII values"
" in the range [l, r] are \n";
cout << "\nand their count is " << CountCharacters(str, l, r);
return 0;
}
Java
// Java implementation of the above approach
import java.util.*;
import java.lang.*;
class GFG
{
// Function to count the number
// of characters whose ascii
// value is in range [l, r]
static int CountCharacters(String str,
int l, int r)
{
// Initializing the count to 0
int cnt = 0;
int len = str.length();
for (int i = 0; i < len; i++)
{
// Increment the count
// if the value is less
if (l <= str.charAt(i) && str.charAt(i) <= r)
{
cnt++;
System.out.print(str.charAt(i) + " ");
}
}
// return the count
return cnt;
}
// Driver code
public static void main(String args[])
{
String str = "geeksforgeeks";
int l = 102, r = 111;
System.out.print("Characters with ASCII values" +
" in the range [l, r] are \n");
System.out.print("\nand their count is " +
CountCharacters(str, l, r));
}
}
// This code is contributed
// by Akanksha Rai(Abby_akku)
Python3
# Python3 implementation of the above approach
# Function to count the number of characters
# whose ascii value is in range [l, r]
def CountCharacters(str1, l, r):
# Initializing the count to 0
cnt = 0;
len1 = len(str1)
for i in str1:
# Increment the count
# if the value is less
if (l <= ord(i) and ord(i) <= r):
cnt = cnt + 1
print(i, end = " ")
# return the count
return cnt
# Driver code
if __name__=='__main__':
str1 = "geeksforgeeks"
l = 102
r = 111
print("Characters with ASCII values " +
"in the range [l, r] are")
print("\nand their count is ",
CountCharacters(str1, l, r))
# This code is contributed by
# Kirti_Mangal
C#
// C# implementation of the above approach
using System;
class GFG
{
// Function to count the number
// of characters whose ascii
// value is in range [l, r]
static int CountCharacters(string str,
int l, int r)
{
// Initializing the count to 0
int cnt = 0;
int len = str.Length;
for (int i = 0; i < len; i++)
{
// Increment the count
// if the value is less
if (l <= str[i] && str[i] <= r)
{
cnt++;
Console.Write(str[i] + " ");
}
}
// return the count
return cnt;
}
// Driver code
public static void Main()
{
string str = "geeksforgeeks";
int l = 102, r = 111;
Console.Write("Characters with ASCII values" +
" in the range [l, r] are \n");
Console.Write("\nand their count is " +
CountCharacters(str, l, r));
}
}
// This code is contributed
// by Akanksha Rai(Abby_akku)
PHP
Javascript
输出:
Characters with ASCII values in the range [l, r] are
g k f o g k
and their count is 6
时间复杂度– O(N)