Các bài toán trên chuỗi

Một phần của tài liệu Tài liệu thực tập lập trình ứng dụng trong kỹ thuật PAPE311426 (Trang 30 - 35)

III. BÀI TẬP THỰC HÀNH

2.3. Các bài toán trên chuỗi

- Bài toán tìm kiếm: Cho trước chuỗi kí tự bất kì, tìm vị trí của 1 phần tử hoặc 1 vài phần tử trong chuỗi thỏa yêu cầu cho trước.

VD :

 Tìm kiếm vị trí của phần tử là khoảng trắng trong chuỗi:

char A[20] = "Vi du so 1";

for (int i = 0; i<20; i++) {

if(A[i] = = ' ') printf("\nVi tri khoang trang: %d",i);

}

- Bài toán hoán đổi vị trí hai phần tử:

VD :

 Hoán đổi vị trí hai phần tử:

char A[20] = "Vi du so 1";

for (int i = 0; i<20; i++) {

if(A[i] = = ' ') printf("\nVi tri khoang trang: %d",i);

}

- Bài toán thêm/xóa bớt phần tử: thêm/xóa bớt 1 hay 1 số phần tử của 1 chuỗi kí tự cho trước.

VD :

 Xóa những phần tử là khoảng trắng trong chuỗi:

char A[20] = "Vi du so 1";

for(int i = 0;i<strlen(A); i++) {

if(A[i]== ' ') {

for(int j=i;j<strlen(A)-1;j++) {

A[j] = A[j+1];

}

A[strlen(A)-1] = '\0';

} }

III. BÀI TẬP THỰC HÀNH:

3.1. Bài tập có hướng dẫn:

Tạo mới một project dùng phần mềm Visual Studio, nhập lại đoạn chương trình mẫu, biên dịch, kiểm tra kết quả và nhận xét.

Bài 1 :

- Viết chương trình cho phép nhập 1 chuỗi có (tối đa) 10 phần tử. Hiển thị chuỗi vừa nhập ra màn hình.

#include "stdio.h"

#include "conio.h"

#include "string.h"

void main() {

char S[10];

printf("Nhap chuoi");

gets(S);

printf("Chuoi vua nhap: %s",S);

getch();

}

Bài 2 :

- Viết chương trình cho phép nhập 1 chuỗi có (tối đa) 10 phần tử. Hiển thị chuỗi vừa nhập ra màn hình.

- Cho phép người dùng nhập vào 1 giá trị số nguyên n (n<10). In ra màn hình kí tự ở vị trí thứ n trong chuỗi.

#include "stdio.h"

#include "conio.h"

#include "string.h"

void main() {

char S[10];

int n = 0;

printf("Nhap chuoi");

gets(S);

printf("Chuoi vua nhap: %s",S);

printf("Nhap gia tri n: n =");

scanf("%d",&n);

printf("\nKi tu tai vi tri thu n: %c",S[n]);

getch();

}

Bài 3 :

Viết chương trình giao diện console theo yêu cầu sau : Yêu cầu :

- Viết chương trình cho phép nhập 1 chuỗi có (tối đa) 10 phần tử. Hiển thị chuỗi vừa nhập ra màn hình.

- In ra màn hình các giá trị sau: chiều dài của chuỗi, số lượng kí tự là dấu ' ' (khoảng trắng) trong chuỗi.

- Chuyển chuỗi sang chữ HOA và xuất ra màn hình

#include "stdio.h"

#include "conio.h"

#include "string.h"

void main()

{

char S[10];

int n = 0;

printf("Nhap chuoi");

gets(S);

printf("Chuoi vua nhap: %s",S);

printf("Chieu dai cua chuoi: %d\n , strlen(S));

for (int i = 0;i<strlen(S); i++) {

if(S[i] == ' ') n++;

}

printf("So ki tu la khoang trang: %d\n , n);

strupr(S);

printf("Chuoi in HOA: %s\n , S);

getch();

}

3.2. Bài tập luyện tập:

Bài 1:

Viết chương trình cho phép người sử dụng nhập 1 chuỗi có 10 phần tử.

a/ Hiển thị chuỗi ra màn hình.

b/ Hiển thị giá trị kí tự đầu tiên và phần tử cuối của chuỗi.

Bài 2 :

Viết chương trình cho phép người sử dụng nhập 1 chuỗi có 10 phần tử. Hiển thị chuỗi ra màn hình a/ Chuyển kí tự đầu của chuỗi thành chữ hoa và xuất ra màn hình.

b/ Chuyển các kí tự nằm sau khoảng trắng thành chữ hoa và xuất chuỗi mới ra màn hình.

Bài 3 :

Viết chương trình cho phép người dùng nhập họ và tên.

- In ra màn hình họ tên sau khi chuẩn hóa (Tất cả chữ cái đầu đều viết hoa).

Bài 4 :

Viết chương trình cho phép người dùng nhập 1 chuỗi (tối đa 50 kí tự).

- Xóa hết tất cả kí tự ' ' và xuất chuỗi mới ra màn hình.

- Nếu trong chuỗi có kí tự 'a' thì chuyển thành 'abc' và xuất chuỗi mới ra màn hình.

Bài 5 :

Tạo 1 dữ liệu 10 hàng 2 cột: cột 1 là Họ tên, cột 2 là điểm số. Hiển thị dữ liệu này ra màn hình.

- Cho phép người dùng nhập vào họ tên. Tìm điểm số tương ứng với họ tên vừa nhập, nếu tìm thấy thì in giá trị điểm số ra màn hình, nếu không tìm thấy thì yêu cầu người sử dụng nhập lại họ tên.

Bài 6 :

Tạo 1 dữ liệu bảng điểm 10 hàng 2 cột: cột 1 là Họ tên, cột 2 là điểm số. Hiển thị dữ liệu này ra màn hình.

- Sắp xếp lại bảng điểm này theo thứ tự điểm số từ lớn đến bé.

Bài 4:

LẬP TRÌNH C CĂN BẢN - Hàm và Thư viện

I. MỤC ĐÍCH YÊU CẦU:

- Phân tích yêu cầu, xây dựng giải thuật và viết code theo yêu cầu.

- Xây dựng những chương trình cơ bản bằng ngôn ngữ C/C++.

- Hình thành kỹ năng phát hiện và sửa lỗi khi lập trình.

II. HƯỚNG DẪN LÝ THUYẾT:

Một phần của tài liệu Tài liệu thực tập lập trình ứng dụng trong kỹ thuật PAPE311426 (Trang 30 - 35)

Tải bản đầy đủ (PDF)

(92 trang)