intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài thực hành số 7: Kỹ thuật xử lý xâu ký tự (chuỗi)

Chia sẻ: Hoangthi Luong | Ngày: | Loại File: DOC | Số trang:8

149
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Kiểu xâu ký tự : typedef char Chuoi[KT]; Khi đó, Chuoi trở thành một kiểu dữ liệu, là kiểu xâu ký tự, ta có thể khai báo các biến thuộc kiểu này.

Chủ đề:
Lưu

Nội dung Text: Bài thực hành số 7: Kỹ thuật xử lý xâu ký tự (chuỗi)

  1. Bài thực hành số 7: Kỹ thuật xử lý xâu ký tự (chuỗi) A. Mục tiêu  Nắm vững các khái niệm xâu ký tự  Nắm vững một số kỹ thuật xử lý cơ bản trên xâu ký tự  Rèn luyện cách gọi hàm, truyền tham số. B. Ôn tập:  Cú pháp định nghĩa biến xâu ký tự, kiểu xâu ký tự  Các thao tác cơ bản trên xâu ký tự  Các kỹ thuật xử lý xâu ký tự 1. Cú pháp khai báo (định nghĩa) biến mảng 1 chiều char Ten_Chuoi[KT]; hoặc: wchar Ten_Chuoi[KT]; 2. Kiểu xâu ký tự : typedef char Chuoi[KT]; Khi đó, Chuoi trở thành một kiểu dữ liệu, là kiểu xâu ký tự, ta có thể khai báo các biến thuộc kiểu này. Chuoi a, b; // a, b là các biến xâu ký tự, có không quá MAX ký tự 3. Các thao tác cơ bản: Với khai báo xâu ký tự như sau: char a[MAX]; //MAX là giá trị hằng đã định nghĩa trước a. Nhậpdữ liệu cho a: Sử dụng các cách sau: cin>>a; //Khi đó a không chứa ký tự tách (khoảng trắng, tab, ...) hoặc: gets(a); //a có thể chứa khoảng trắng Lưu ý: • Đối với các cách trên, khi kết thúc việc nhập (nhấn Enter), trình biên dịch sẽ tự động thêm ký tự NULL vao cuối xâu. • Một xâu ký tự bao giờ cũng kết thúc bằng ký tự NULL. Nếu ta dùng cách nhập như mảng 1 chiều thông thường (liên kết 1 vòng for): for (int i = 0; i < n; i++) cin>>a[i]; Khi đó a chỉ là mảng 1 chiều có n ký tự khác NULL, chứ không phải là xâu ký tự. Để a trở thành một biến xâu ký tự chứa n ký tự khác NULL, ta c ần thêm NULL vào ký tự cuối cùng, tức là : a[n] = NULL; //’\0’ • Ký tự đầu tiên của xâu a bao giờ cũng tương ứng với chỉ số 0 (Không thay đổi): a[0] : Ký tự đầu tiên của a Nếu a là xâu rổng thì: a[0] == NULL • Nếu xâu ký tự a có chiều dài l (số lượng ký tự khác NULL trong a là l), thì:
  2. a[l] == NULL b. Xuất dữ liệu của a: cout
  3. int Cd(char a[MAX]); void Copy(char b[MAX], char a[MAX]); void ChenKT(char a[MAX], char Kt, int k); int DemKT(char a[MAX], char Kt); void HuyKT(char a[MAX], int k); void Thuong_Hoa(char a[MAX]); void main() { int Chon; char a[MAX]; cout
  4. case 2: _flushall(); cout
  5. int Cd(char a[MAX]) { int i = 0; while (a[i] != NULL) i++; return i; } void Copy(char b[MAX], char a[MAX]) { int i; for(i = 0; a[i] != NULL; i++) b[i] = a[i]; b[i] = NULL; } void ChenKT(char a[MAX], char Kt, int k) { int i, l; l = Cd(a); if ( k > l || k < 0) { cout l || k < 0) { cout
  6. { int i; for(i = 0; a[i] != NULL; i++) if ( 'a'
  7. do { if (!Nhap(a)) cout
  8. return S; } D. Luyện tập: Bài 1: Viết chương trình thực hiện các thao tác trên xâu ký tự. Yêu cầu của chương trình là: - In ra màn hình menu có các chức năng sau : 1. Hủy ký tự cho trước ra khỏi xâu ký tự 2. Nối xâu b vào sau xâu a. 3. Đảo ngược một xâu ký tự. 4. Kiểm tra một xâu ký tự có phải là đối xứng 5. Cắt ký tự đầu của xâu rồi ghép vào cuối xâu đó. 6. So sánh 2 xâu ký tự theo thứ tự từ điển. 7. Thóat. - Muốn thực hiện thao tác nào thì chọn chức năng tương ứng của menu. Bài 2: Ta xem tên là một xâu ký tự bao gồm nhiều từ tách biệt bằng các ký tự trắng. Từ là một dãy liên tiếp các ký tự khác ký tự trắng. Viết chương trình nắn các tên nhập từ bàn phím theo qui cách: • Khử các ký tự trắng ở đầu và cuối của tên. • Khử bớt các dấu cách ở giữa các từ, chỉ để lại một ký tự trắng. • Các chữ cái đầu từ được viết hoa, ngoài ra mọi chữ cái còn lại được viết thường.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2