Đếm số chữ số của một số nguyên dương trong C++
Một bài tập C++ thường gặp là cho một số nguyên dương n, yêu cầu đếm...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
Chúng ta thường thấy mảng lưu trữ các giá trị kiểu số (int, float,…). Mảng cũng có thể lưu trữ các giá trị kiểu ký tự. Bài này sẽ giới thiệu cách khai báo, khởi tạo và kỹ thuật lập trình trên mảng ký tự. 1. Như thế nào là chuỗi ký tự? Kiểu char […]
Chúng ta thường thấy mảng lưu trữ các giá trị kiểu số (int, float,…). Mảng cũng có thể lưu trữ các giá trị kiểu ký tự. Bài này sẽ giới thiệu cách khai báo, khởi tạo và kỹ thuật lập trình trên mảng ký tự.
Kiểu char chỉ chứa được một ký tự. Để lưu trữ một chuỗi ký tự (nhiều ký tự), ta sử dụng mảng (một chiều) các ký tự. Tức là, chuỗi ký tự (mảng ký tự) là mảng một chiều mà tất cả các phần tử trong mảng có kiểu ký tự (char).
char <tên chuỗi >[<kích thước>];
Lưu ý: Mảng ký tự kết thúc bằng ký tự ‘\0’ (null). Do đó, độ dài chuỗi bằng kích thước mảng – 1.
char hoten[30]; // Dài 29 ký tự
char ngaysinh[9]; // Dài 8 ký tự
Khởi tạo như khởi tạo mảng thông thường:
char s[10] = {'T', 'H', 'C', 'S', ' ', 'A', '\0'};
char s[10] = "THCS A"; //tự động thêm ký tự null '\0'
char s[] = {'T', 'H', 'C', 'S', ' ', 'A', '\0'};
char s[] = "THCS A"; //tự động thêm ký tự null '\0'
Lưu ý: Khai báo ký tự dùng cặp dấy nháy đơn. Khai báo chuỗi dùng cặp dấu nháy kép. Ví dụ:
char ky_tu = 'a';
char chuoi[5] = "abc";
Sử dụng lệnh cin để nhập mảng ký tự. Sử dụng lệnh cout để xuất mảng ký tự.
char cChuoi[10];
cin >> cChuoi;
cout << cChuoi;
Nhập mảng ký tự bằng lệnh cin chỉ nhận các ký tự từ bàn phím đến khi gặp ký tự khoảng trắng hoặc ký tự xuống dòng.
#include <iostream>
using namespace std;
int main() {
char arCh[50];
cout<<"Input character sequences:";
cin>>arCh;
cout<<"Character sequences received:";
cout<<arCh;
system("pause");
}
Input character sequences:introduction to programming
character sequences received:introduction
Rõ ràng, chuỗi nhập vào chỉ nhận được “introduction”, từ khoảng trắng trở về sau không nhận được. Để khắc phục, ta sử dụng lệnh cin.getline(<tên biến chuỗi>, <số ký tự nhận được>);. Từ đây về sau, khi nhập chuỗi nên dùng lệnh cin.getline.
#include <iostream>
using namespace std;
int main() {
char arCh[50];
cout<<"Input character sequences:";
cin.getline(arCh,50);
cout<<"Character sequences received:";
cout<<arCh;
system("pause");
}
Input character sequences:introduction to programming
Character sequences received:introduction to programming
Ngôn ngữ C++ cung cấp nhiều hàm cho việc thao tác với chuỗi. Dưới đây là một số hàm xử lý chuỗi thường dùng:
Trả về chiều dài chuỗi s
char cLine[40] = "Have a nice day!";
int iLength;
iLength = strlen(cLine);//16
Nối chuỗi s2 vào cuối chuỗi s1.
char str1[25] ="Hello ";
char str2[11] = "World";
strcat(str1,str2);//Hello World
Bỏ qua n ký tự trước khi gặp ký tự ch trong bộ nhớ đệm. Thường dùng trước lệnh cin.getline().
cin.ignore(200,'\n');Đọc từ 1 tới n ký tự và lưu vào s.
char cLine[50];
cin.getline(cLine,50);
Kiểm tra giá trị trong ch có phải là chữ cái hay không.
Kiểm tra giá trị trong ch có phải chữ số hay không.
Kiểm tra giá trị trong ch có phải khoảng trắng hay không.
Đổi tất cả ký tự của s sang chữ thường.
Đổi tất cả ký tự của s sang chữ hoa.
So sánh 2 chuỗi s và t, trả về giá trị âm nếu s<t, 0 nếu s bằng t, giá trị dương nếu s>t.
Gán nội dung của chuỗi t cho chuỗi s.