Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ đếm số nguyên âm, phụ âm, chữ số và khoảng trắng trong chuỗi


Chuỗi là mảng ký tự một chiều kết thúc bằng ký tự null. Trong chuỗi có thể có nhiều nguyên âm, phụ âm, chữ số và khoảng trắng.

Ví dụ:

Chuỗi: There are 7 colours in the rainbow
Nguyên âm: 12
Phụ âm: 15
Chữ số: 1
Khoảng trắng: 6

Chương trình đếm số nguyên âm, phụ âm, chữ số và khoảng trắng trong chuỗi:

Ví dụ

#include <iostream>
using namespace std;

int main() {
  char str[] = "Abracadabra 123";
  int vowels, consonants, digits, spaces;
  vowels = consonants = digits = spaces = 0;
  for (int i = 0; str[i] != '\0'; ++i) {
    if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' ||
        str[i] == 'o' || str[i] == 'u' || str[i] == 'A' ||
        str[i] == 'E' || str[i] == 'I' || str[i] == 'O' ||
        str[i] == 'U') {
      ++vowels;
    } else if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
      ++consonants;
    } else if (str[i] >= '0' && str[i] <= '9') {
      ++digits;
    } else if (str[i] == ' ') {
      ++spaces;
    }
  }
  cout << "Chuỗi là: " << str << endl;
  cout << "Nguyên âm: " << vowels << endl;
  cout << "Phụ âm: " << consonants << endl;
  cout << "Chữ số: " << digits << endl;
  cout << "Khoảng trắng: " << spaces << endl;
  return 0;
}

Kết quả đầu ra

Chuỗi là: Abracadabra 123
Nguyên âm: 5
Phụ âm: 6
Chữ số: 3
Khoảng trắng: 1

Trong chương trình, các biến vowels, consonants, digits, spaces lưu số lượng tương ứng. Vòng lặp for duyệt từng ký tự. Nếu là nguyên âm thì tăng vowels. Tương tự cho phụ âm, chữ số, khoảng trắng:

for (int i = 0; str[i] != '\0'; ++i) {
  if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' ||
      str[i] == 'o' || str[i] == 'u' || str[i] == 'A' ||
      str[i] == 'E' || str[i] == 'I' || str[i] == 'O' ||
      str[i] == 'U') {
    ++vowels;
  } else if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
    ++consonants;
  } else if (str[i] >= '0' && str[i] <= '9') {
    ++digits;
  } else if (str[i] == ' ') {
    ++spaces;
  }
}

Sau khi đếm xong, hiển thị kết quả:

Chuỗi là: Abracadabra 123
Nguyên âm: 5
Phụ âm: 6
Chữ số: 3
Khoảng trắng: 1