1 | Page
BÀI TẬP ONLINE 2
Bài 1: Cho số nguyên x có 4 chữ số.
Hãy tìm số y là số đảo của số x, tức là số có các chữ số viết theo
thứ tự
ngược lại của x.
Ví dụ: n = 1234 ==> ketQua: 4321
HƯỚNG DÃN:
- INPUT : Nhập n
- PROCESS:
donvi = (n/1) % 10;
chuc = (n/10) % 10;
tram = (n/100) % 10;
ngan = (n/1000) % 10;
ketQua = string(donvi + chuc + tram + ngan);
- OUTPUT:
Xuất kq;
Kết quả chạy chương trình
Nhap n:1234
Ket qua 1234 <==> 4321
Press any key to continue . . .
Bài 2:
Cho số tự nhiên n nhỏ hơn 1000. Hỏi
(a) số tự nhiên n có bao nhiêu chữ số?
(b) Tính tổng các chữ số của n?
(c) Tìm chữ số cuối của n?
(d) Tìm chữ số đầu của n?
HƯỚNG DÃN:
- DEFINE Constants (ĐỊNH NGHĨA CÁC
HẰNG SỐ NẾU CÓ)
- DECLARE (KHAI BÁO CÁC BIẾN)
Các biến n, donvi, chuc, tram biến kiểu int;
tong, nChuSo, chuSoDau, chuSoCuoi biến kiểu int
- INPUT :
Nhập n;
- PROCESS:
donvi = (n / 1) % 10;
chuc = (n / 10) % 10;
2 | Page
BÀI TẬP ONLINE 2
tram = (n / 100) % 10;
tong = tram + chuc +donvi;
chuSoCuoi = donvi;
Nếu tram != 0
nChuSo = 3; chuSoDau = tram;
Ngược lại Nếu (chuc!=0)
nChuSo = 2; chuSoDau = chuc;
Ngươc lại nChuSo = 1; chuSoDau = donvi;
- OUTPUT:
Xuất theo form kết quả
Kết quả chạy chương trình
Nhap n:789
(a) So tu nhien n có 3 chu so
(b) Tong cac chu so cua n :24
(c) Chu so cuoi cua n:9
(d) Chu so dau cua n:7
Bài 3:
Nội dung:
Cho dãy số thực n phần tử (n < 500). Hãy đếm dãy số bao
nhiêu số dương, số âm, và số không.
HƯƠNG DÃN:
- Viết các hàm ngoài Main
nhapMang(ref int[] a); // Hàm void
xuatmang(int[] a); // Hàm void
SoDuong(int[] a); // Hàm trả rakiểu int
{ ' \ '
// Hàm này thực chất ĐẾM các số dương
Dựa vào bài Mang_CacThaoTacCoBan; hàm demSoPtuSoLe() để viết
int soduong = 0;
Duyệt từ đầuđến cuối mảng
Lập điều kiện số dương?
tăng số dương lên 1;
return soduong; }
SoAm(int[] a); // Hàm trả ra kiểu int
{ Tự viết }
So0(int[] a); // Hàm trả ra kiểu int
{ Tự viết }
Main
{ . ......
- DECLARE (KHAI BÁO CÁC BIẾN)
Các biến soDuong, soAm, so0 biến kiểu int;
int[] a = null
- INPUT :
nhapMang();
3 | Page
BÀI TẬP ONLINE 2
- PROCES :S
soDuong = SoDuong(a, n);
soAm = SoAm(a, n);
so0 = So0(a, n);
- OUTPUT:
Xuất soDuong, soAm, So0;
, }
Kết quả chạy chương trình
Nhap so ptu cua mang:5
Nhap cac gia tri cho mang: 5 94 66 0 -92
Hien thi mang 5 phan tu:
a[]={5, 94,66, 0, -92}
Day co 3 phan tuso Duong,
Co 1 phan tuso Am,
Co 1 phan tuso 0.
Bài 4:
Cho số nguyên n ( n <= 1.000) và dãy n số nguyên a0, a1, ... , an-1 .
Với số' nguyên x cho trước, hãy cho biết số' x xuất hiện bao
nhiêu lần trong dãy
số.
HƯỚNG DÃN:
- Viết các hàm ngoài Main
nhapMang(ref int[] a) // Hàm void
xuatmang(int[] a) // Hàm void
// false: Không tìm thấy; tổng số lần: nếu tìm thấy.
timTanSoXuatHienX(int[] a, int x, ref int dem); // Hàm kiểu bool {
..........
i biến kiểu int;
bool timThay = false;
// Dùng vòng lặp for
Duyệt i từ 0 đến n
Nếu (x == a[i]) // Nếu x == ph.tử đang xét thì
dem++; // tăng số lần lên 1 khi tìm thấy
timThay = true;
tăng i lên 1;
return timThay;
} .
Main
{ . ......
- DECLARE (KHAI BÁO CÁC BIẾN)
Các biến dem = 0 biến kiểu int; // Số phần tử mảng
x biến kiểu int; // Giá trị đi tìm
int[] a = null
- INPUT :
nhapMang();
4 | Page
BÀI TẬP ONLINE 2
xuatMang();
Nhập x;
- PROCES :S
bool timThay = timTanSoXuatHienX(a, x, ref dem);
- OUTPUT:
Nếu timThay==true
In ra số' lần xuất hiện x (dem);
Ngược lại
Tìm không thấy.
, }
Kết quả chạy chương trình
Nhap so ptu cua mang:6
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 2
a[4] = 3
a[5] = 2
Hien thi mang 6 phan tu:
a[]={ 1, 2, 3, 2, 3, 2 }
Nhap gia tri x:2
Phan tu co gia tri = 2, xuat hien: 3 lan

Preview text:

BÀI TẬP ONLINE 2 Bài 1:
Cho số nguyên x có 4 chữ số.
Hãy tìm số y là số đảo của số x, tức là số có các chữ số viết theo thứ tự ngược lại của x.
Ví dụ: n = 1234 ==> ketQua: 4321 HƯỚNG DÃN: - INPUT : Nhập n - PROCESS: donvi = (n/1) % 10; chuc = (n/10) % 10; tram = (n/100) % 10; ngan = (n/1000) % 10;
ketQua = string(donvi + chuc + tram + ngan); - OUTPUT: Xuất kq;
Kết quả chạy chương trình Nhap n:1234 Ket qua 1234 <==> 4321 Press any key to continue . . . Bài 2:
Cho số tự nhiên n nhỏ hơn 1000. Hỏi (a) số tự nhiên n có bao nhiêu chữ số? (b) Tính tổng các chữ số của n?
(c) Tìm chữ số cuối của n?
(d) Tìm chữ số đầu của n? H ƯỚNG DÃ N: - DEFINE Constants (ĐỊNH NGHĨA CÁC HẰNG SỐ NẾU CÓ)
- DECLARE (KHAI BÁO CÁC BIẾN) Các biến n,
donvi, chuc, tram biến kiểu int;
tong, nChuSo, chuSoDau, chuSoCuoi biến kiểu int - INPUT : Nhập n; - PROCESS: donvi = (n / 1) % 10; chuc = (n / 10) % 10; 1 | Page BÀI TẬP ONLINE 2 tram = (n / 100) % 10; tong = tram + chuc +donvi; chuSoCuoi = donvi; Nếu tram != 0 nChuSo = 3; chuSoDau = tram; Ngược lại Nếu (chuc!=0) nChuSo = 2; chuSoDau = chuc;
Ngươc lại nChuSo = 1; chuSoDau = donvi; - OUTPUT: Xuất theo form kết quả
Kết quả chạy chương trình Nhap n:789 (a) So tu nhien n có 3 chu so (b) Tong cac chu so cua n :24 (c) Chu so cuoi cua n:9 (d) Chu so dau cua n:7 Bài 3: Nội dung:
Cho dãy số thực có n phần tử (n < 500). Hãy đếm dãy số có bao
nhiêu số dương, số âm, và số không. HƯƠNG DÃN: - Viết các hàm ngoài Main nhapMang(ref int[] a); // Hàm void xuatmang(int[] a); // Hàm void SoDuong(int[] a); // Hàm trả rakiểu int { ' \ '
// Hàm này thực chất ĐẾM các số dương
Dựa vào bài Mang_CacThaoTacCoBan; hàm demSoPtuSoLe() để viết int soduong = 0;
Duyệt từ đầu đến cuối mảng
Lập điều kiện số dương? tăng số dương lên 1; return soduong; } SoAm(int[] a); // Hàm trả ra kiểu int { Tự viết } So0(int[] a); // Hàm trả ra kiểu int { Tự viết } Main { . ......
- DECLARE (KHAI BÁO CÁC BIẾN) Các biến
soDuong, soAm, so0 biến kiểu int; int[] a = null - INPUT : nhapMang(); 2 | Page BÀI TẬP ONLINE 2 - PROCESS: soDuong = SoDuong(a, n); soAm = SoAm(a, n); so0 = So0(a, n); - OUTPUT: Xuất soDuong, soAm, So0; , } Kết quả chạy chương trình Nhap so ptu cua mang:5 Nhap cac gia tri cho mang: 5 94 66 0 -92 Hien thi mang 5 phan tu: a[]={5, 94,66, 0, -92} Day co 3 phan tuso Duong, Co 1 phan tuso Am, Co 1 phan tuso 0. Bài 4:
Cho số nguyên n ( n <= 1.000) và dãy n số nguyên a0, a1, ... , an-1 . Với số' nguyên x cho
trước, hãy cho biết số' x xuất hiện bao nhiêu lần trong dãy số. H ƯỚNG DÃ N: - Viết các hàm ngoài Main nhapMang(ref int[] a) // Hàm void xuatmang(int[] a) // Hàm void
// false: Không tìm thấy; tổng số lần: nếu tìm thấy.
timTanSoXuatHienX(int[] a, int x, ref int dem); // Hàm kiểu bool { .......... i biến kiểu int; bool timThay = false; // Dùng vòng lặp for Duyệt i từ 0 đến n Nếu (x == a[i])
// Nếu x == ph.tử đang xét thì dem++;
// tăng số lần lên 1 khi tìm thấy timThay = true; tăng i lên 1; return timThay; } . Main { . ......
- DECLARE (KHAI BÁO CÁC BIẾN) Các biến dem = 0 biến kiểu int; // Số phần tử mảng x biến kiểu int; // Giá trị đi tìm int[] a = null - INPUT : nhapMang(); 3 | Page BÀI TẬP ONLINE 2 xuatMang(); Nhập x; - PROCESS:
bool timThay = timTanSoXuatHienX(a, x, ref dem); - OUTPUT: Nếu timThay==true In ra số' lần xuất hiện x (dem); Ngược lại Tìm không thấy. , }
Kết quả chạy chương trình Nhap so ptu cua mang:6 a[0] = 1 a[1] = 2 a[2] = 3 a[3] = 2 a[4] = 3 a[5] = 2 Hien thi mang 6 phan tu: a[]={ 1, 2, 3, 2, 3, 2 } Nhap gia tri x:2
Phan tu co gia tri = 2, xuat hien: 3 lan 4 | Page