■ Bài tập C or C++ phần 01 đến 08 ■ Có bài giải (từ cơ bản đến nâng cao ■ Tập 1 of 2) - Pdf 44

Bài tập C++ – Tập 1 / 2
Bài 01.01 – Xin chào
(Các lệnh printf và gets)
Bạn hãy nhập họ tên của một người và in ra màn hình câu chúc mừng người đó.
#include <stdio.h>
#include <conio.h>
int main () {
clrscr();

// xóa màn hình.
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
char HoTen[30]; // Có thể khai báo char *hoten thay vì char hoten[30]
printf("Nhap Ho va Ten: ");
gets(HoTen);
printf("Xin chuc mung ban %s", HoTen);
getch();
// Tạm dừng chương trình để xem kết quả
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
return 0;

}

Bài 02 – Các phép toán
Lệnh If (điều_kiện) => lệnh
Bạn hãy nhập vào hai số nguyên (int) và một phép toán (char) rồi in ra màn hình kết quả của phép toán.
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(){
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này

Vòng lệnh For (tên_biến = 1; tên_biến <=n; tên_biến++) => lệnh
Bạn hãy nhập vào cơ số a và số mũ n (int) rồi in ra màn hình kết quả của phép toán an.
#include <stdio.h>
#include <conio.h>
int main(){
clrscr();
int a, n, i;
long luythua;

// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
// a, n, i là các số nguyên nhỏ
// luythua chứa số nguyên lớn

printf("Nhap co so ");
scanf("%d", &a);
printf("Nhap so mu ");
scanf("%d", &n);
luythua=1;
for (i=1; i
(TD : L5 =1+ 3+5 = 9)
Bạn hãy nhập vào số n (Integer) rồi in ra màn hình kết quả của phép toán Cộng các số lẻ từ 1 đến n
Chú ý: a là số lẻ nếu a % 2 = 1

Biên soạn: Th.s Nguyễn Anh Việt

Trang 3


Bài tập C++ – Tập 1 / 2
Function là hàm do người lập trình tự tạo để thực hiện một chức năng nào đó, TD:
long long giaithua(int k) {}
là hàm dùng để tính giai thừa của một số k và trả về giá trị giai thừa của k
long long giaithua (int k) { // Giá trị trả về là số nguyên lớn long long
long long gt, i; // long long để khai báo số nguyên lớn
gt=1;
for (i=1; i In ra 1, 24, 5040, 120, 2)
#include <stdio.h>
#include <conio.h>
long long giaithua (int k) {
long long gt, i;
gt=1;
for (i=1; i
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này

}

Bài 02.02 – In ra giá trị luỹ thừa 2 của các phần tử trong mảng 1 chiều
Bạn hãy nhập một dãy số nguyên và tính luỹ thừa 2 của từng số trong dãy đó.
(Dãy 1, 4, 7, 5, 2 => In ra 1, 16, 49, 25, 4)
#include <stdio.h>
#include <conio.h>
long long luythua (int a, int k) {
long long lt, i;
lt=1;
for (i=1; i
int i;
for (i=1; i
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
printf("Nhap so phan tu cua day so ");
scanf("%d", &n);
for (i=1; i
printf("Giai thua cua day so la: \n");
for (i=1; i In ra 1, 16, 49, 25, 4)
#include <stdio.h>
#include <conio.h>
long long luythua (int a, int k) {
if (k==1) return a;
// a1 = a
else return luythua(a, k-1)*a;
// ak = ak-1 * a
}
int main(){
int n, i, a[10];
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này


Bài tập C++ – Tập 1 / 2
Bài 03.03 – In ra giá trị nhân 3 của các phần tử trong mảng 1 chiều
Bạn hãy nhập một dãy số nguyên và nhân đôi từng số trong dãy đó.
(Dãy 1, 4, 7, 5, 2 => In ra 3, 12, 21, 15, 6)
#include <stdio.h>
#include <conio.h>
int n, i, a[10];
void nhanmang (int k) {
int i;
for (i=1; i
}
int sieunguyento (int k) {
int snt=1;
while (k>0){
if (nguyento(k)==0) return 0;
k=k/10;
}
return snt;
}
int main(){
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
int i, dem=0;
for (i=1000; i
#include <stdio.h>
#include <conio.h>
#include <limits.h> // Khai báo sử dụng INT_MIN là số nguyên nhỏ nhất
int main(){
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
int n, i, max=INT_MIN, a[10], vitri=0;
// Tìm số max, cho max=số nhỏ nhất
// Nhập dãy số
printf("Nhap so phan tu cua day so ");
scanf("%d", &n);

Biên soạn: Th.s Nguyễn Anh Việt

Trang 12


Bài tập C++ – Tập 1 / 2
for (i=0; i


Bài tập C++ – Tập 1 / 2
for (i=0; i
scanf("%d", &a[i]);
if (a[i]==pow(sqrt(a[i]),2)) co_scp=1;
}
printf("Day so da nhap la: \n");
for (i=0; i
}
for (i=0; i
có các Số lớn nhất dòng 7, 9 và 8)
Bạn hãy nhập một mảng số nguyên và tìm Số lớn nhất cùng với vị trí của nó trên mỗi dòng trong mảng
đó.
Biên soạn: Th.s Nguyễn Anh Việt
Trang 17


Bài tập C++ – Tập 1 / 2
#include <stdio.h>
#include <conio.h>
#include <limits.h>
int main(){
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
int m, n, i, j, a[10][10], sd, sc, so_ln, vitri_cot;
printf("Nhap so dong cua mang 2 chieu ");
scanf("%d", &sd);
printf("Nhap so cot cua mang 2 chieu ");
scanf("%d", &sc);
//Nhập mảng 2 chiều
for (i=0; i
#include <conio.h>
int main(){
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
int i, j, a[10][10], sdc;
// Nhập ma trận vuông
printf("Nhap so dong/ cot cua ma tran vuong ");
scanf("%d", &sdc);
for (i=0; i
// In ma trận vuông
printf("Ma tran vuong da nhap la: \n");
for (i=0; i
printf("Nhap phan tu dong %d cot %d ", i+1, j+1);
scanf("%d", &a[i][j]);
}
// In ma trận vuông
printf("Ma tran vuong da nhap la: \n");
for (i=0; i
scanf("%s", chuoi);
// In chuổi đảo ngược
for (i=strlen(chuoi)-1; i>=0; i--)
printf("%c", chuoi[i]);
getch();
return 0;

// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này

}

Bài 06.02 – Đếm số từ của Chuổi
(Chuổi Nguyen Van An có 3 từ)
Bạn hãy nhập một Chuổi và đếm số từ trong chuổi đó.
#include <stdio.h>
#include <conio.h>
#include <string.h>
// Đếm số từ trong chuổi = Số ký tự trống '_' + 1
int demsotu(char *a)
{
int i, dem=0;
int n = strlen(a);
for (i = 0; i < n-1; i++) {
if (a[i]==32) // 32 là mã của ký tự trống _
dem++;
}
return dem+1;
}
int main () {
clrscr();

while (a[i]==32) i++;
// Tìm vị trí của chữ đầu tiên
for (i = i; i < n-1; i++) {
if (a[i]==32 && a[i+1]!=32) // Đếm các khoảng trắng _x thay vì __
dem++;
}
return dem+1;
}
int main () {
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
char chuoi[255];
printf("Nhap chuoi can dem so tu: ");
gets(chuoi);
printf("Do dai chuoi %d", strlen(chuoi));
printf("\n");
printf("Chuoi co %d tu", demsotu(chuoi));
getch();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
return 0;
}

Bài 06.03 – Chuổi đối xứng
(Các chuổi abccba hay abcba đều là chuổi đối xứng)
Bạn hãy nhập một chuổi và kiềm tra xem chuổi đó có đối xứng hay không.
TD: abcba => Chuoi doi xung, abcbd => Chuoi khong doi xung
Biên soạn: Th.s Nguyễn Anh Việt

Trang 24


Chú ý:
* Cách 1:
- Dùng hàm strupr để trả về ký tự in hoa ‘A’, ‘B’, …, ‘Z’
- Thứ tự của ký tự ‘a’ = 97, ‘b’ = 98, …, ‘z’=122
* Cách 2: Trừ cho 32 để biến thành chữ in hoa (97 – 32 = 65 => A, 98 – 32 = 66 => B, …)
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main () {
clrscr();
// Nếu dùng CodeBlock hay Dev-C thì bỏ lệnh này
char chuoi[255];
int n, i;
printf("Nhap chuoi can doi thanh chu in hoa: ");
gets(chuoi);
// Cach 1: Dung ham
printf("Ket qua chuoi doi thanh chu in hoa \n%s\n", strupr(chuoi));

Biên soạn: Th.s Nguyễn Anh Việt

Trang 25



Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status