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

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

Khai báo và khởi tạo chuỗi

Mảng ký tự (hoặc tập hợp ký tự) gọi là chuỗi.

char ten_chuoi[kich_thuoc];

Ví dụ: char a[50]; – chuỗi độ dài 50 ký tự.

Khởi tạo bằng hằng ký tự đơn

char a[10] = {'H', 'e', 'l', 'l', 'o', '\0'};

Khởi tạo bằng hằng chuỗi

char a[10] = "Hello";

Truy xuất chuỗi

Dùng chuỗi điều khiển "%s" để truy xuất đến khi gặp ký tự '\0'.

Logic đếm

  • Nguyên âm: if (str[i]=='a' || ... || str[i]=='u') vowel++;
  • Chữ số: if (str[i]>='0' && str[i]<='9') digit++;
  • Khoảng trắng: if (str[i]==' ') space++;
  • Phụ âm: Các ký tự còn lại (chữ cái không phải nguyên âm).

Chương trình hoàn chỉnh

#include <stdio.h>

int main() {
    char string[50];
    int i, vowel = 0, digit = 0, space = 0, consonant = 0;

    printf("Nhap chuoi bat ky (chua ca loai ky tu):\n");
    gets(string); // lưu ý: gets không an toàn, nên dùng fgets trong thực tế

    for (i = 0; string[i] != '\0'; i++) {
        if (string[i]=='a' || string[i]=='e' || string[i]=='i' || string[i]=='o' || string[i]=='u')
            vowel++;
        else if (string[i]>='0' && string[i]<='9')
            digit++;
        else if (string[i]==' ')
            space++;
        else
            consonant++;
    }
    printf("vowel=%d\ndigit=%d\nspace=%d\nconsonant=%d\n", vowel, digit, space, consonant);
    return 0;
}

Kết quả

Nhap chuoi bat ky: Tutorials Point 1234 C programming 2020
vowel=9
digit=8
space=5
consonant=17