LATEST

Chuyển chữ hoa thành chữ thường trong C / C++

Trong bài viết này, codehow sẽ hướng dẫn các bạn cách chuyển chữ hoa thành chữ thường trong C / C++. Đây là một dạng bài tập rất quen thuộc khi bắt đầu học bất kì một ngôn ngữ lập trình nào.

Trước tiên, chúng ta cần tìm hiều về giá trị ACSII. Ở bài trước mình đã có hướng dẫn cách tìm giá trị ASCII trong C / C++, các bạn có thể xem lại nhé.

Mình sẽ nhắc lại cho các bạn về giá trị ASCII, trong bảng ASCII bắt đầu từ 0 đến 127 sẽ là giá trị tương ứng với các ký tự.

Ở đây chúng ta chỉ cần quan tâm đến từ ký tự a - z và A - Z mà thôi. Với các chữ hoa A - Z, giá trị ASCII tương ứng từ 65 - 90. Các chữ in thường sẽ bằng giá trị in hoa cộng thêm 32, vậy là từ 97 - 122.

bai12 01 png

Ví dụ: Mình có ký tự A = 65, vậy a = 65 + 32 = 97. Tương tự như vậy cho các chữ cái khác.

Vậy làm thế nào để có thể chuyên chữ in hoa thành chữ in thường trong C / C++, các bạn hãy bắt đầu cùng mình ngay bây giờ thôi nhé.

Chuyển chữ hoa thành chữ thường trong C / C++

Trong chương trình này, mình sẽ thực hiện chương trình chuyển chữ hoa thành chữ thường trong C / C++.

Đầu tiên cần khai báo một chuỗi str, ở đây mình gán độ dài là 25. Sau đó yêu cầu người dùng nhập vào một chuỗi.

char str[25];
printf("Nhập vào một chuỗi: ");
scanf("%s", &str);

Sử dụng vòng lặp for lặp từ 0 đến độ dài của chuỗi. Nếu ký tự nào nằm trong khoảng từ 65 - 90 (là chữ hoa) thì cộng thêm 32 (thành chữ thường).

for(i=0;i<=strlen(str);i++){
      if(str[i]>=65&&str[i]<=90)
         str[i]=str[i]+32;
}

Sau đó in chuỗi ra màn hình.

Dưới đây là hai chương trình hoàn chỉnh mình đã viết bằng ngôn ngữ C và C++, các bạn có thể tham khảo nhé !!!

Chương trình C:

#include <stdio.h>
int main(void) {
  char str[25];
   int i;
   printf("Nhập vào một chuỗi: ");
   scanf("%s", &str);
   for(i=0;i<=strlen(str);i++){
      if(str[i]>=65&&str[i]<=90)
         str[i]=str[i]+32;
   }
   printf("Chuỗi sau khi được chuyển thành chữ thường là: %s ",str);
   printf("\n------------------------------\n");
   printf("Chương trình này được đăng tại codehow.net");
}

Kết quả:

bai16 01 PNG

Chương trình C++:

#include <iostream>
#include<string.h>
using namespace std;
int main(){
   char str[25];
   int i;
   cout<<"Nhập vào một chuỗi: ";
   cin>>str;
   for(i=0;i<=strlen(str);i++){
      if(str[i]>=65&&str[i]<=90)
         str[i]=str[i]+32;
   }
   cout<<"Chuỗi sau khi được chuyển thành chữ thường là "<<str;
   cout<<"\n------------------------------\n";
   cout<<"Chương trình này được đăng tại codehow.net";
}

Kết quả:

bai16 02 PNG

Chuyển chữ hoa thành chữ thường trong C / C++ sử dụng hàm tolower()

Như các bạn đã thấy thì cách chuyển chữ hoa thành chữ thường trnog C / C++ ở chương trình 1 rất dài dòng và khó hiểu đúng không a.

Biết được điều đó, trong ngôn ngữ C và C++ đã tạo ra một hàm để làm việc này, đó là hàm tolower(). Vậy làm thể nào để sử dụng nó trong việc chuyển chữ hoa thành chữ thường trong C / C++, các bạn hãy xem ví dụ dưới đây.

Chương trình C:

#include <stdio.h>

int main(void) {
  char str[25];
   int i;
   printf("Nhập vào một chuỗi: ");
   scanf("%s", &str);
   printf("Chuỗi sau khi được chuyển thành chữ thường là: ");
   for(i=0;i<=strlen(str);i++){
      putchar(tolower(str[i]));
   }
   
   printf("\n------------------------------\n");
   printf("Chương trình này được đăng tại codehow.net");
}

Kết quả:

bai16 04 PNG

Chương trình C++:

#include <iostream>
#include <ctype.h>
#include <cstring>
using namespace std;
int main(){
   char str[25];
   int i;
   cout<<"Nhập vào một chuỗi: ";
   cin>>str;
   cout<<"Chuỗi sau khi được chuyển thành chữ thường là: ";
   for (int i=0; i<=strlen(str); i++)
   {
      putchar(tolower(str[i]));
   }
   
   cout<<"\n------------------------------\n";
   cout<<"Chương trình này được đăng tại codehow.net";
}

Kết quả:

bai16 03 PNG

Như vậy là chúng ta đã cùng nhau tìm hiểu về cách chuyển chữ hoa thành chữ thường trong C / C++. Các bạn có thể luyện tập với nhiều dạng bài tập khác nhau tại serries bài tập C / C++ của codehow nhé. Cảm ơn các bạn rất nhiều !!!

Cùng chuyên mục:

Xóa node khỏi cây nhị phân tìm kiếm

Xóa node khỏi cây nhị phân tìm kiếm

Tìm node Max và Min trong cây nhị phân tìm kiếm

Tìm node Max và Min trong cây nhị phân tìm kiếm

Xuất node con và node lá trong cây nhị phân tìm kiếm

Xuất node con và node lá trong cây nhị phân tìm kiếm

Tìm kiếm trên cây nhị phân tìm kiếm

Tìm kiếm trên cây nhị phân tìm kiếm

Duyệt cây nhị phân tìm kiếm

Duyệt cây nhị phân tìm kiếm

Thêm node vào cây nhị phân tìm kiếm

Thêm node vào cây nhị phân tìm kiếm

Cây nhị phân (Binary tree) là gì? Cơ chế hoạt động của nó

Cây nhị phân (Binary tree) là gì? Cơ chế hoạt động của nó

Cách gộp hai danh sách liên kết đôi

Cách gộp hai danh sách liên kết đôi

Tìm kiếm phần tử trong DSLK đôi

Tìm kiếm phần tử trong DSLK đôi

Xóa node trong DSLK đôi

Xóa node trong DSLK đôi

Chèn node (Insert node) vào DSLK đôi

Chèn node (Insert node) vào DSLK đôi

Duyệt danh sách liên kết đôi

Duyệt danh sách liên kết đôi

Tạo node mới trong DSLK đôi

Tạo node mới trong DSLK đôi

DSLK đôi là gì? Cấu trúc dữ liệu của DSLK đôi

DSLK đôi là gì? Cấu trúc dữ liệu của DSLK đôi

Quản lý sinh viên bằng DSLK đơn

Quản lý sinh viên bằng DSLK đơn

Tìm kiếm và sắp xếp trong DSLK đơn

Tìm kiếm và sắp xếp trong DSLK đơn

Xóa node (Delete node) trong DSLK đơn

Xóa node (Delete node) trong DSLK đơn

Chèn node (Insert node) vào DSLK đơn

Chèn node (Insert node) vào DSLK đơn

Tạo node mới trong DSLK đơn

Tạo node mới trong DSLK đơn

Cấu trúc dữ liệu của DSLK đơn

Cấu trúc dữ liệu của DSLK đơn