Đếm ký tự
Thuộc phần Logic và luồng điều khiển trong hành trình C của Coddy. Bài học 21 trên 63.
Thử thách
DễMở rộng chương trình tiện ích văn bản từ bài học trước để bổ sung chức năng đếm ký tự. Chương trình của bạn cần:
- Yêu cầu người dùng nhập một câu ngắn bằng cách in ra:
Enter a sentence:(lưu ý khoảng trắng sau dấu hai chấm), rồi xuống dòng - Khai báo một mảng ký tự tên là
sentencecó 200 phần tử để lưu đầu vào - Dùng
scanfvới định dạng%sđể đọc một từ từ người dùng - In từ đã lưu theo định dạng:
You entered: [word] - Dùng
strlen()để tính số ký tự rồi in theo định dạng:Character count: [count] - Dùng lại
strlen()để in độ dài theo định dạng:Length: [length]
Cả Character count và Length đều dùng strlen() nên sẽ cho cùng một giá trị. Mục tiêu của bài tập này là luyện gọi strlen() nhiều lần và dùng kết quả trong các ngữ cảnh đầu ra khác nhau, qua đó củng cố cách hàm này hoạt động và cách bạn có thể dùng lại hàm.
Nhớ thêm tiêu đề <string.h> để dùng hàm strlen().
Đầu ra của bạn cần hiển thị kết quả theo định dạng sau:
Enter a sentence:
You entered: [word]
Character count: [count]
Length: [length]Ví dụ, nếu đầu vào là:
ProgrammingĐầu ra của bạn sẽ là:
Enter a sentence:
You entered: Programming
Character count: 11
Length: 11Tự làm thử
#include <stdio.h>
#include <string.h>
int main() {
// TODO: Write your code here
// 1. Print the prompt message
printf("Enter a sentence:\n");
// 2. Declare a character array named 'sentence' with 200 elements
char sentence[200];
// 3. Read input using scanf with %s format specifier
scanf("%s", sentence);
// 4. Print the entered word and its length
printf("You entered: %s\n", sentence);
printf("Length: %d\n", strlen(sentence));
return 0;
}Tất cả bài học trong Logic và luồng điều khiển
1Nền tảng về con trỏ
Con trỏ là gì?Khai báo con trỏToán tử lấy địa chỉ (&)Toán tử giải tham chiếu (*)Con trỏ NULLÔn tập: kiến thức cơ bản về con trỏ4Dự án: Công cụ xử lý văn bản đơn giản
Tổng quan dự ánĐếm ký tự2Con trỏ và mảng
Tên mảng dưới dạng con trỏPhần tử mảng và con trỏPhép toán con trỏSo sánh con trỏÔn tập: duyệt mảng bằng con trỏ5Con trỏ và hàm
Truyền theo giá trịTruyền con trỏ vào hàmSửa đổi biến qua con trỏVí dụ kinh điển: hoán đổiTruyền mảng vào hàmÔn tập: đối số con trỏ hàm3Mảng ký tự và chuỗi
Chuỗi dưới dạng mảng charKý tự kết thúc nullNhập chuỗi bằng scanfDùng strlen()Dùng strcpy()Dùng strcat()Dùng strcmp()Ôn tập: các hàm xử lý chuỗi cơ bản6Quản lý bộ nhớ
Bộ nhớ ngăn xếp và bộ nhớ heapCấp phát động với malloc()Dùng sizeof() để cấp phátKiểm tra lỗi cấp phátGiải phóng bộ nhớ với free()Cấp phát với calloc()Ôn tập: Mảng động9Dự án: Nhập thông tin liên hệ đơn giản
Định nghĩa struct ContactHàm tạo liên hệTự luyện tập: Trình biên dịch C online
Kiểm tra số lượng trên văn bản bất kỳ: Công cụ đếm từ