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 cụ và hướng dẫn Công nghệ tương lai

    ARPANET là gì? Toàn tập Lịch sử & Kiến trúc Kỹ thuật

    Nếu bạn đang sử dụng bất kỳ thiết bị nào để đọc bài viết

    Xem thêm

    Công nghệ tương lai Công cụ và hướng dẫn

    Ethics Là Gì? Bách Khoa Toàn Thư Về Đạo Đức Học, Ý Nghĩa Và Ứng Dụng Thực Tiễn Trong Kỷ Nguyên Hiện Đại

    Trong một thế giới mà ranh giới giữa đúng và sai ngày càng trở

    Xem thêm

    Digital Maketing Kiến thức SEO Marketing/ bán hàng/ Doanh nghiệp

    Curate là gì? Cẩm Nang Toàn Tập Về Nghệ Thuật Giám Tuyển Nội Dung (Content Curation) Từ A-Z

    Trong kỷ nguyên bùng nổ thông tin hiện nay, mỗi ngày có hàng triệu

    Xem thêm

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

    1. Avatar of phúc
      phúc says:

      Viết hàm đệ quy tính số hạng thứ n của dãy Fibo . Ad có bài nào tương tự như vậy nữa không

    Để 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