Mục lục bài viết (3 mục)
Dưới đây là tổng hợp các bài tập về chuỗi, đệ quy đã có lời giải chi tiết. Bài tập hay có trong đề thi cuối kỳ, giữa kỳ, mời bạn tham khảo

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
Văn Tân
Chào bạn, mình là Văn Tân hay còn gọi là Tân Digi - Người sáng lập ra TaSDigital, Tân rất đam mê về công nghệ và thích viết…
Bình luận (1)
phúc
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
Viết bình luận của bạn