CHUỖI

bài tập chuỗi 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 c: đổ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 d: 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;

}

Câu e:

ĐỆ QUY

ĐỆ 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é.