📜  计算并打印 ASCII 值在 [l, r] 范围内的字母

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

计算并打印 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)