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

Văn Tân
👣Chia sẻ:
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: Webgle

1 bình luận về “Tổng hợp bài tập về chuỗi, đệ quy”

Viết một bình luận