Mục lục
    bài tập chuỗi có lời giải

    Tổng hợp các bài tập chuỗi và đệ quy có lời giải

    Bài tập chuỗi có lời giải

    Câu a: Nhập vào 2 chuỗi

    #include <iostream>
    #include<string>
    using namespace std;
    int main()
    {
    string s1;
    string s2;
    cout << “nhap ho:”;
    getline(cin, s1);
    cout <<“nhap ten:”;
    getline(cin,s2);
    cout<<“ho la:”<<s1;
    cout<<“ten la:”<<s2;
    }

    Câu b: đổi chữ thường sang hoa

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include<stdlib.h>
    int main(){
    char str[] =”hoang phuc”;
    /*
    printf (“nhap vao 1 chuoi”);
    gets(str);
    printf (“chuoi nhan duoc la: “, str);
    */
    strupr(str);
    //strlwr(str); chu thuong sang hoa
    printf(“chuoi in Hoa: %s”, str);
    getch();
    }

    Câu c: Ghép chuỗi lại với nhau

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    //Khai báo 2 xâu s1, s2:
    string s1, s2;
    //Nh?p vào 2 xâu dó:
    cin >> s1 >> s2;
    //Ghép 2 xâu r?i xu?t ra màn hình:
    cout << s1 + s2;
    //K?t thúc:
    return 0;
    }

    Bài tập về đệ quy có lời giải

    ĐỆ QUY TUYẾN TÍNH

    Câu 1: Viết hàm đệ quy tính số hạng thứ n của dãy Fibo

    #include<stdio.h>
    #include<conio.h>
    long Fibo(int n)
    {
    if(n == 0)
    return 0;
    if(n == 1)
    return 1;
    return Fibo(n – 1) + Fibo(n – 2);
    }
    int main()
    {
    int n;
    printf(“\nNhap n: “); scanf(“%d”, &n);
    long kq = Fibo(n);
    printf(“\nFibo = %d”, kq);
    getch();
    return 0;
    }

    Câu 2: Tính S(n) = 1 + 2 + 3 + … + n

    #include<stdio.h>
    #include<conio.h>
    long Tong(int n)
    {
    if(n == 0)
    return 0;
    return Tong(n – 1) + n;
    }
    int main()
    {
    int n, S;
    printf(“\Nhap n = “); scanf(“%d”, &n);
    S = Tong(n);
    printf(“S = %d”, S);
    getch();
    return 0;
    }

    Câu 3: Hãy cài đặt hàm đệ quy tính T(n) = n! = 1 x 2 x 3 x … x n. Trong đó T(0) = 1

    #include<stdio.h>
    #include<conio.h>
    long GiaiThua(int n)
    {
    if(n == 0)
    return 1;
    return GiaiThua(n – 1) * n;
    }
    int main()
    {
    int n, T;
    printf(“\Nhap n = “); scanf(“%d”, &n);
    T = GiaiThua(n);
    printf(“T = %d”, T);
    getch();
    return 0;
    }

    Câu 4: Hàm đệ quy tính hàm mũ X^n

    #include<stdio.h>
    #include<conio.h>
    int mu(int a,int b)
    {
    if(b==1)
    return a;
    else
    return mu(a,b-1)*a;
    }
    int main()
    {
    int n,x;
    printf(“nhap so   “);
    scanf(“%d”,&n);
    printf(“so mu   “);
    scanf(“%d”,&x);
    printf(“%d”,mu(n,x));
    getch();
    return 0;
    }

    Câu 5: Viết chương trình tìm USCLN và BSCNN của a và b sử dụng đệ quy

    * Chuong trinh tim uoc chung lon nhat (USCLN)
    * va boi so chung nho nhat (BSCNN) cua 2 so a và b
    * @author viettuts.vn
    #include<stdio.h>
    /**
    * Tim uoc so chung lon nhat (USCLN)
    */
    int USCLN(int a, int b) {
    if (b == 0) return a;
    return USCLN(b, a % b);
    }
    /**
    * Tim boi so chung nho nhat (BSCNN)
    */
    int BSCNN(int a, int b) {
    return (a * b) / USCLN(a, b);
    }
    /**
    * ham main
    */
    int main() {
    int a, b;
    printf(“Nhap so nguyen duong a = “);
    scanf(“%d”, &a);
    printf(“Nhap so nguyen duong b = “);
    scanf(“%d”, &b);
    // tinh USCLN cua a và b
    printf(“\nUSCLN cua %d va %d la: %d”, a, b, USCLN(a, b));
    // tinh BSCNN cua a và b
    printf(“\nUSCLN cua %d va %d la: %d”, a, b, BSCNN(a, b));
    }

    Câu 6: Bài toán tháp hà nội đệ quy

    #include<stdio.h>
    void TOH(int num, char x, char y, char z);
    int main() {
    int num;
    printf(“\nNhap so dia: “);
    scanf(“%d”, &num);
    TOH(num – 1, ‘A’, ‘B’, ‘C’);
    return (0);
    }
    void TOH(int num, char x, char y, char z) {
    if (num > 0) {
    TOH(num – 1, x, z, y);
    printf(“\n%c -> %c”, x, y);
    TOH(num – 1, z, y, x);
    }
    }

    Câu 7:  Viết hàm đệ quy tính số hạng thứ n của dãy Fibo

    #include<stdio.h>
    #include<conio.h>
    long Fibo(int n)
    {
    if(n == 0)
    return 0;
    if(n == 1)
    return 1;
    return Fibo(n – 1) + Fibo(n – 2);
    }
    int main()
    {
    int n;
    printf(“\nNhap n: “); scanf(“%d”, &n);
    long kq = Fibo(n);
    printf(“\nFibo = %d”, kq);
    getch();
    return 0;
    }

    >> Mời bạn xem thêm: Bài tập chuỗi ký tự trong C

    Trên đây là những bài tập về chuỗi và đề quy mình đã giải chi tiết, nếu có thắc mắc gì phản hồi về cho mình nhé.

    Sưu tầm: Tas digital

    4.8/5 - (6 bình chọn)

    Công nghệ tương lai Lập trình/ Code

    Portainer Là Gì? Toàn Tập Về Công Cụ Quản Trị Container Hàng Đầu (Hướng Dẫn Chi Tiết)

    Sự bùng nổ của công nghệ Container hóa (Containerization) với đầu tàu là Docker

    Xem thêm

    Công nghệ tương lai Công cụ và hướng dẫn Lập trình/ Code

    Helper Là Gì? Bí Quyết Viết Code “Sạch” Và Tối Ưu Trong Lập Trình

    Trong thế giới lập trình và phát triển phần mềm, việc phải lặp đi

    Xem thêm

    Digital Maketing Đồ Họa và Video Xu hướng

    Des là gì? Giải mã ý nghĩa của Des trong Thiết kế, SEO, IT & Logistics

    Bạn đang lướt mạng xã hội và thấy ai đó bình luận: “Dân Des

    Xem thêm

    One thought on “Tổng hợp bài tập về chuỗi, đệ quy

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    Chào mừng bạn đến với TASDIGITAL.net
    Chào mừng bạn đến với TASDIGITAL.net