LATEST

Cách nối hai chuỗi trong C / C++

Trong bài viết này, codehow sẽ hướng dẫn các bạn cách nối hai chuỗi trong C / C++. Đây là bài tập căn bản giúp các bạn thao tác với chuỗi trong C / C++.

Để hiểu được chương trình, các bạn cần có kiến thức cơ bản về lập trình C và C++, đặc biệt là vòng lặp nhé.

Như thế nào được gọi là nối hai chuỗi với nhau? Đó là khi nội dung của chuỗi sau được nối liền sau chuỗi thứ nhất.

Ví dụ: mình có hai chuỗi "Hello" và chuỗi "codehow.net", khi nối hai chuỗi này lại thì sẽ như sau "Hellocodehow.net".

Vậy ngay bây giờ, hãy cùng codehow tìm hiểu cách nối hai chuỗi trong C / C++ thôi nào !!!

Cách nối hai chuỗi trong C / C++

Trong phần này, mình sẽ thực hiện chương trình nối hai chuỗi trong C / C++, Cụ thể như sau:

Bước 1: Khai báo hai mảng để chứa nội dung của hai chuỗi.

// khai báo hai mảng để chứa cá phần tử trong hai chuỗi
char str1[50], str2[50], i, j;

Bước 2: Yêu cầu người dùng nhập vào hai chuỗi.

// yêu cầu người dùng nhập vào hai chuỗi
printf("Nhập vào chuỗi thứ nhất: ");
scanf("%s", &str1);
printf("Nhập vào chuỗi thứ hai: ");
scanf("%s", &str2);

Bước 3: Sử dụng vòng lặp for để nối hai chuỗi lại với nhau.

//chạy vòng lặp for để nối chuỗi
   for(i=0; str1[i]!='\0'; ++i); 
   for(j=0; str2[j]!='\0'; ++j, ++i)
   {
      str1[i]=str2[j];
   }

Bước 4: Hiển thị chuỗi sau khi nối ra màn hình.

// hiển thị kết quả ra màn hình
printf("Kết quả là: %s",str1);

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

Chương trình C:

//khai báo thư viện stdio.h
#include <stdio.h>

int main(void) {
  // khai báo hai mảng để chứa cá phần tử trong hai chuỗi
   char str1[50], str2[50], i, j;
   // yêu cầu người dùng nhập vào hai chuỗi
   printf("Nhập vào chuỗi thứ nhất: ");
   scanf("%s", &str1);
   printf("Nhập vào chuỗi thứ hai: ");
   scanf("%s", &str2);
   //chạy vòng lặp for để nối chuỗi
   for(i=0; str1[i]!='\0'; ++i); 
   for(j=0; str2[j]!='\0'; ++j, ++i)
   {
      str1[i]=str2[j];
   }
   str1[i]='\0';
   // hiển thị kết quả ra màn hình
   printf("Kết quả là: %s",str1);
   
   printf("\n------------------------------\n");
   printf("Chương trình này được đăng tại codehow.net");
}

Kết quả:

bai20 02 PNG

Chương trình C++:

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
  // khai báo hai mảng để chứa cá phần tử trong hai chuỗi
   char str1[50], str2[50], i, j;
   // yêu cầu người dùng nhập vào hai chuỗi
   cout<<"Nhập vào chuỗi thứ nhất: ";
   cin>>str1;
   cout<<"Nhập vào chuỗi thứ hai: ";
   cin>>str2;
   //chạy vòng lặp for để nối chuỗi
   for(i=0; str1[i]!='\0'; ++i); 
   for(j=0; str2[j]!='\0'; ++j, ++i)
   {
      str1[i]=str2[j];
   }
   str1[i]='\0';
   // hiển thị kết quả ra màn hình
   cout<<"Kết quả là: "<<str1;
   cout<<"\n-------------------------------\n";
   cout<<"Chương trình này được đăng tại codehow.net";
}

Kết quả:

bai20 01 PNG

Cách nối hai chuỗi trong C / C++ sử dụng hàm strcat()

Cũng với bài toán này, thay vì thực hiện theo cách thông thường là sử dụng vòng lặp để nối hai chuỗi. Chúng ta còn một cách khác nhau hơn và dễ hiểu hơn rất nhiều.

Bằng cách sử dụng hàm strcat() trong C / C++. Chỉ cần khai báo thư viện string.h là chúng ta có thể sử dụng nó rồi đó.

Hãy cùng xem cách thực hiện nó thông qua hai chương trình được viết bằng ngôn ngữ C và C++ dưới đây nhé.

Chương trình C:

//khai báo thư viện stdio.h
#include <stdio.h>

int main(void) {
  // khai báo hai mảng để chứa cá phần tử trong hai chuỗi
   char str1[50], str2[50], i, j;
   // yêu cầu người dùng nhập vào hai chuỗi
   printf("Nhập vào chuỗi thứ nhất: ");
   scanf("%s", &str1);
   printf("Nhập vào chuỗi thứ hai: ");
   scanf("%s", &str2);
   //sử dụng hàm strcat() để nối hai chuỗi str1 và str2
   // hiển thị kết quả ra màn hình
   printf("Kết quả là: %s",strcat(str1,str2));
   
   printf("\n------------------------------\n");
   printf("Chương trình này được đăng tại codehow.net");
}

Kết quả:

bai20 04 PNG

Chương trình C++:

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
  // khai báo ba mảng để chứa cá phần tử trong hai chuỗi
   char str1[50], str2[50];
   // yêu cầu người dùng nhập vào hai chuỗi
   cout<<"Nhập vào chuỗi thứ nhất: ";
   cin>>str1;
   cout<<"Nhập vào chuỗi thứ hai: ";
   cin>>str2;
  //sử dụng hàm strcat() để nối hai chuỗi str1 và str2
   // hiển thị kết quả ra màn hình
   cout<<"Kết quả là: "<<strcat(str1,str2);
   cout<<"\n-------------------------------\n";
   cout<<"Chương trình này được đăng tại codehow.net";
}

Kết quả:

bai20 03 PNG

Như vậy là chúng ta đã cùng nhau tìm hiểu về cách nối hai chuỗi trong C / C++. Có hai cách nối chuỗi đó là sử dụng vòng lặp for hoặc có thể sử dụng hàm strcat() trong thư viện string.h nhé. Chúc các bạn thực hiện thành côn !!!!

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Top