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