Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Wartune Adder Generator
Thu Dec 19, 2013 2:25 pm by ragnawet

» Tujhse Nara..
Thu Dec 19, 2013 1:10 pm by ragnawet

» NewBlueFx TotalFX Windows-FL | 1.11 GB
Tue Dec 17, 2013 7:42 pm by titquarra

» NewBlueFx TotalFX Windows-FL | 1.11 GB
Tue Dec 17, 2013 7:42 pm by titquarra

» Celebrity.Sex.Tape.UNCUT.&.UNRATED.2012.720p.BRrip.x264.YIFY.mp4
Tue Dec 17, 2013 3:32 pm by titquarra

» Maya Autodesk Personal Learning Edition 8.5
Tue Dec 17, 2013 2:47 pm by titquarra

» Whatsapp Cracked For 3gs
Sat Nov 02, 2013 9:40 am by genwesd

» Ultraiso V8 6 3 2056 Crazikill3r
Sat Nov 02, 2013 8:59 am by genwesd

» Tuyệt Kỹ Đong Giai Chân Kinh (tuyệt Kỹ cua trai)
Thu Aug 23, 2012 11:38 am by Admin

Shopmotion


Affiliates
free forum


66 bài tập thực hành - C++

View previous topic View next topic Go down

66 bài tập thực hành - C++

Post  Admin on Thu Jun 09, 2011 9:39 am

Bài 1. Nhập vào 4 số a, b, c, d nguyên dương khác nhau. Hãy in ra màn hình hai số không phải là số lớn nhất và số nhỏ nhất. Yêu cầu không sử dụng mảng dữ liệu trong chương trình.
Bài 2. Nhập vào 3 số nguyên dương a, b, c (khác nhau). Hãy in ra màn hình 3 số trên theo thứ tự tăng dần (chương trình chỉ được dùng thêm tối đa hai biến có kiểu là số nguyên, không sử dụng biến kiểu mảng).
Kiểm tra 3 số đó có lập thành tam giác hay không? Nếu có thì xác định loại tam giác (phân biệt thành các loại: đều, vuông, vuông cân, cân, thường).
Bài 3. Viết chương trình nhập vào một số nguyên dương n và thực hiện các công việc sau:
(a) Kiểm tra n có phải là số nguyên tố không?
(b) Nếu n không phải là số nguyên tố thì xác định số nguyên tố gần n nhất và bé hơn n.
Bài 4. Viết chương trình nhập vào ngày, tháng, năm:
(a) Kiểm tra tính hợp lệ của số liệu nhập vào. Cho biết năm này có phải là năm nhuận không?
(b) Nhập vào ngày, tháng, năm tính khoảng cách giữa ngày tháng năm vừa nhập với ngày 1/1 của cùng năm.
Bài 5. Viết chương trình nhập vào số nguyên n và thực hiện:
Xuất ra màn hình n số đầu tiên của chuỗi Fibonaci(có hai giá trị đầu là 1 và 1)
Bài 6. Viết chương trình nhập 2 giờ (giờ cho bằng một chuỗi ký tự dạng: hh:mm:ss) thực hiện công việc sau:
(a) Kiểm tra tính hợp lệ của 2 giờ đã nhập vào.
(b) Xuất kết quả của việc tính ‘+’ và ‘-‘ của 2 giờ này.
Bài 7. Hãy nhập số nguyên dương cho một mảng hai chiều m dòng và n cột. Cho biết mảng đó chứa bao nhiêu số có: ba chữ số, hai chữ số và một chữ số.
Bài 8. Viết chương trình nhập vào ma trận vuông A[N][N].
(a) Hãy đếm số phần tử có giá trị lớn nhất (Max) và nhỏ nhất (Min) trong ma trận Am đồng thời hãy xuất ra màn hình các vị trí (i,j) với A(i,j) = Max, hoặc A(i,j)=Min.
(b) Trong ma trận A hãy thay thế giá trị của các phần tử có giá trị bằng Max hoặc bằng Min bằng trung bình cộng của Max và Min
Bài 9. Viết chương trình nhập vào một số nguyên dương n.
(a) Hãy in ra màn hình tất cả các ước số của nó.
(b) Cho biết số n có bao nhiêu ước số, và hãy tính tổng của tất cả các ước số đó.
Bài 10.
(a) Nhập số nguyên dương n và viết hàm tính giá trị của:
P = 1/((n-2)*(n-1)*n)
(b) Tính tổng dãy số sau:
S = 1/(1*2*3) -1/(2*3*4) + 1/(3*4*5)…
In ra màn hình giá trị của S.
Bài 11. Viết hàm tính giai thừa của một số nguyên n bằng phương pháp đệ qui.
(a) Viết hàm tính xn , x kiểu số thực, n là số nguyên dương.
(b) Sử dụng các hàm nói trên và các hàm cần thiết khác để tính tổng sau bằng phương pháp đệ qui.
S=x – x3/3!+x5/5!-…+(-1)n+1*x2n-1/(2n-1)!
Với x,n nhập từ bàn phím, x là số thực, n số nguyên dương.
Bài 12.
(a) Viết hàm tính xn.
(b) Viết hàm tính n! theo phương pháp đệ qui.
(c) Dùng hàm trên để tính: S = x/1! + x3/3! + x5/5! +… Với x, n được nhập vào từ bàn phím, x là số thực, n là số nguyên dương.
Bài 13. Viết chương trình theo dạng thực đơn đơn giản, cho phép người dùng thực hiện các thao tác sau:
(a) Nhập vào năm dương lịch, đổi sang năm âm lịch.
(b) Nhập vào năm âm lịch, đổi sang năm dương lịch.
(c) Nhập vào ngày tháng năm, đổi ra ngày trong năm.
(d) Nhập vào ngày trong năm, đổi ra ngày thứ mấy của tháng nào.
Bài 14. Viết chương trình nhập vào số nguyên n. In ra các ước số chẵn lớn nhất của n.
Bài 15. Viết chương trình in ra các bộ nghiệm (x,y,z) của phương trình: 3x+5y +7z = 135, với x,y,z>=0.
Bài 16. Viết chương trình nhập vào một số nguyên dương n. Hãy in ra tổng tất cả các ước số của nó và cho biết có bao nhiêu ước số.
Ví dụ: n = 12 => S = 1+2+3+4+6+12 = 28. Có 6 ước số.
Bài 17. Viết chương trình nhập vào số n nguyên dương. Hãy đổi thành số nhị phân tương ứng và in ra màn hình.
Bài 18. Viết chương trình thực hiện các công việc sau:
(a) Nhập vào một số nguyên có 3 chữ số, xuất ra màn hình chuỗi của việc đọc số này.
(b) Nhập vào một số nguyên n có giá trị nhỏ hơn 1 000 000, xuất ra màn hình chuỗi của việc đọc số này.
Bài 19. Viết chương trình thực hiện việc nhập vào một chuỗi biểu thức số học gồm các phép toán +,-,*,/ và thực hiện các công việc sau:
(a) Cho biết có bao nhiêu toán tử (+,-,*,/) trên chuỗi đó.
(b) Giả thiết trong biểu thức chỉ có một toán tử. Thực hiện việc tính kết quả của biểu thức này và in kết quả ra màn hình.
Bài 20. Viết chương trình thực hiện việc nhập vào một chuỗi và thực hiện các công việc sau:
(a) Đếm số ký tự khoảng trắng có trong chuỗi.
(b) Bỏ các ký tự khoảng trắng thừa ( các ký tự trắng bên trái, bên phải và ở giữa)
(c) Xuất các từ phân biệt, có viết hoa các ký tự đầu mỗi từ.
Bài 21. Viết chương trình nhập vào một chuỗi tối đa 255 ký tự
(a) Đếm số từ có trong chuõi (các từ cách nhau ít nhất một ký tự trắng)
(b) Ứng với mỗi từ, đảo vị trí ký tự đầu và ký tự cuối trong một từ.
Bài 22. Viết chương trình nhập vào một mảng n số nguyên (n<=100) và n được nhập từ bàn phím, thực hiện các công việc sau:
(a) In ra trung bình cộng của các số dương và số âm có trong mảng.
(b) In ra tất cả các số nguyên tố có trong mảng.
Bài 23. Cho dãy a(a1, a2, a3, …, an) và b(b1, b2, …, bn). Viết chương trình thực hiện các công việc sau:
(a) Nhập vào 2 dãy trên, sau đó gộp 2 dãy lại theo thứ tự xen kẽ nhau.
(b) Thực hiện việc xóa các phần tử giống nhau trên hai dãy vừa gộp và in ra màn hình.
Bài 24. Viết chương trình nhập vào 2 chuỗi ký tự, thực hiện các công việc sau:
(a) Đếm số ký tự là chữ cái thường (‘a’,…,’z’) trong chuỗi 1 và đếm số ký tự không là ký tự chữ cái (không nằm trong đoạn ‘A’…’Z’ và ‘a’…’z’) có trong chuỗi 2.
(b) Ghép chuỗi 2 vào chuỗi 1 tại vị trí thứ k.(với 0<=k<=chiều dài của chuỗi 1)
Bài 25. Viết chương trình nhập vào chuỗi ký tự (chiều dài tối đa của chuỗi là 80 ký tự)
(a) Hãy cho biết số từ xuất hiện trong chuỗi str.
(b) Hãy nhập vào hai số nguyên dương n và p, trong chuỗi str hãy tiến hành hủy n ký tự bắt đầu từ vị trí p.
Bài 26. Viết chương trình nhập vào hai chuỗi ký tự str1 và str2.(chiều dài tối đa của mỗi chuỗi là 80 ký tự)
(a) Hãy cho biết số lần chuỗi str2 xuất hiện trong chuỗi str1.
(b) Hãy nhập vào số nguyên dương n, sau đó tiến hành chèn chuỗi str2 vào chuỗi str1 tại vị trí n.
Bài 27. Viết chương trình nhập vào 2 mảng A[N], B[N] và số nguyên p. Hãy chèn mảng B vào mảng A tại vị trí p. Sau đó xuất mảng A ra màn hình.
Bài 28. Viết chương trình nhập vào mảng nguyên dương A[N] và 2 số nguyên dương p, n. Hãy hủy n phần tử trong mảng A bắt đầu từ vị trí p. Sau đó xuất mảng A ra màn hình.
Bài 29. Viết chương trình nhập vào mảng nguyên dương A[N], sau đó hãy sắp xếp các phần tử có giá trị lẻ ở đầu mảng và theo thứ tự tăng dần, các phần tử chẵn ở cuối mảng và theo thứ tự giảm dần.
Bài 30. Nhập vào số n nguyên dương, sau đó sử dụng hàm random nhập ngẫu nhiên dãy n số nguyên dương có giá trị từ 1 đến 100
Hãy loại bỏ các phần tử trùng nhau trong mảng, chỉ giữ lại một giá trị duy nhất trong các số trùng nhau đó.
Bài 31.
(a) Nhập vào một chuỗi chiều dài tối đa 80 ký tự, bao gồm ký tự chữ và khoảng trắng.
(b) Xoá các khoảng trắng ở hai đầu chuỗi. In chuỗi kết quả.
(c) Nhập vào một ký tự ch và tiến hành xoá tất cả các ký tự ch có xuất hiện trong chuỗi ban đầu (không phân biệt chữ hoa, chữ thường). In chuỗi kết quả.
Bài 32.
(a) Nhập vào số phần tử của mảng và giá trị của từng phần tử trong mảng nguyên theo thứ tự tăng dần.
(b) Nhập vào số nguyên x và tìm xem x đã xuất hiện trong mảng hay chưa. Nếu đã xuất hiện trong mảng thì in số lần xuất hiện của x. Còn không thì chèn x vào mảng sao cho thứ tự của mảng không bị xáo trộn, xuất mảng kết quả ra màn hình.
Bài 33. Viết chương trình nhập một chuỗi S1, kiểm tra chuỗi có đối xứng hay không.
(a) Nhập chuỗi thứ hai S2, kiểm tra S2 có nằm trong S1 không.
(b) Thêm chuỗi S2 vào cuối chuỗi S1, xuất chuỗi kết quả.
Bài 34. Nhập số phần tử và các phần tử nguyên dương của mảng a.
(a) In các số nguyên tố có trong mảng a.
(b) Sắp xếp các số chẵn trong mảng theo thứ tự tăng dần.
Bài 35. Viết chương trình nhập vào một mảng a, có n phần tử. Ta định nghĩa một mảng con tăng dần trong a là một dãy các phần tử liên tiếp gần nhau và có thứ tự tăng dần trong a.
(a) Xác định số mảng con tăng có trong a.
(b) In ra mảng con tăng dài nhất trong a.
Bài 36. Viết chương trình nhập vào mảng a
(a) Viết hàm kiểm tra mảng đối xứng không? Nếu có trả về 1 ngược lại trả về 0.
(b) Nhập mảng b, kiểm tra mảng b có phải là mảng con của mảng a không? Nếu có trả về số lần mảng b xuất hiện trong mảng a.
Bài 37. Viết chương trình theo dạng hàm: nhập vào mảng nguyên a có n phần tử với :
(a) Các số nguyên tố (nếu có) trong mảng phải < 100.
(b) Không có phần tử trùng nhau trong mảng.
(c) Tính tổng các số nguyên tố trong mảng.
Bài 38. Viết chương trình thực hiện các bước sau:
(a) Nhập mảng thực.
(b) Sắp xếp mảng thực theo thứ tự tăng dần.
(c) In phần tử có số lần xuất hiện nhiều nhất trong mảng.
(d) Nhập một số thực x, kiểm tra x có xuất hiện trong mảng a hay không. Nếu có in ra vị trí xuất hiện của x trong mảng, ngược lại chèn x vào mảng sao cho mảng vẫn tăng.
Bài 39. Nhập vào mảng a, b theo kiểu cấp phát động. Với:
(a) Các phần tử của a và b không trùng nhau.
(b) Xếp theo thứ tự tăng dần hai mảng a, b.
(c) Nối hai mảng này lại thành một mảng duy nhất sao cho mảng vẫn tăng.
Bài 40. Nhập vào một mảng a. Thực hiện sắp xếp sau:
(a) Tất cả các số lẻ nằm phía trước dãy số, các số chẵn nằm phía sau dãy số, các số 0 nằm giữa.
(b) Nhập vào một số x, hãy tìm số nguyên tố trong a bé hơn và gần với x nhất.
Bài 41. Hãy nhập mảng một chiều có n phần tử là những số nguyên dương. Hãy cho biết mảng đó chứa bao nhiêu số cùng thỏa mãn hai điều kiện: có 3 chữ số và mỗi chữ số đều là số chẵn. Ví dụ số: 246, 840,…
Bài 42. Hãy nhập mảng 1 chiều có n phần tử là những số nguyên dương. Hãy cho biết mảng đó chứa bao nhiêu số cùng thỏa mãn hai điều kiện: có 3 chữ số và các chữ số đều được sắp tăng. Ví dụ: 122, 457, 889,…
Bài 43. Viết chương trình nhập vào mảng một chiều có n số nguyên dương. Hãy cho biết số nào trong mảng có giá trị gần với trung bình cộng của toàn mảng.
Bài 44. Nhập vào một mảng có n số nguyên dương khác nhau. Hãy in ra tất cả các phần tử trong mảng có giá trị nhỏ hơn giá trị lớn nhất và lớn hơn giá trị nhỏ nhất của mảng.
Bài 45. Viết chương trình nhập ngẫu nhiên một mảng có n số nguyên dương. Nhập vào một số nguyên dương k. Hãy tính trung bình cộng của các phần tử trong mảng có giá trị lớn hơn hay bằng k.
Bài 46. Nhập vào một dãy số nguyên dương ngẫu nhiên (random) có n phần tử. Viết chương trình in ra số lớn hơn số nhỏ nhất của dãy và nhỏ hơn hay bằng với mọi số còn lại (nghĩa là tìm số nhỏ thứ hai trong dãy). Nếu n phần tử đều bằng nhau thì thông báo: không tồn tại số cần tìm.
Bài 47. Viết chương trình nhập vào mảng số nguyên có n phần tử. Hãy tìm số chẵn lớn nhất và số lẻ nhỏ nhất.
Bài 48. Hãy nhập dãy n số nguyên dương có giá trị trong khoảng từ 1->100. Sắp xếp lại dãy số trên theo chiều tăng dần và loại bỏ các phần tử trùng nhau (chỉ giữ lại một giá trị trong số đó)
Bài 49. Hãy nhập dãy n số nguyên dương có giá trị trong khoảng từ 1->100. Sắp xếp lại dãy số trên theo chiều tăng dần. Nhập vào một số x nguyên dương. Chèn x vào dãy sao cho thứ tự của dãy không thay đổi.
Bài 50. Hãy nhập dãy n số nguyên dương có giá trị trong khoảng từ 1 -> 100. In ra màn hình các số chẵn xuất hiện trong dãy theo thứ tự tăng dần.
Bài 51. Hãy nhập dãy n số nguyên dương có giá trị trong khoảng từ 1->100. In ra giá trị trung bình cộng của các số chẵn xuất hiện trong dãy.
Bài 52 Viết chương trình thực hiện các công việc sau:
(a) Nhập vào một ma trận các giá trị thực kích thước mxn, với n và m được nhập từ bàn phím.
(b) Tính tổng các số dương có trong mảng.
(c) Kiểm tra xem ma trận A có tồn tại hay không một hàng mà các phần tử đó tăng dần từ trái sang phải.
Bài 53 Viết chương trình thực hiện các công việc sau:
(a) Nhập vào một ma trận các giá trị thực kích thước nxn, với n được nhập từ bàn phím.
(b) Tìm tất cả các vị trí trong ma trận thỏa yêu cầu sau: giá trị của ma trận tại vị trí đó là giá trị lớn nhất của ma trận.
(c) Kiểm tra xem ma trận A có là ma trận đối xứng qua đường chéo chính không?
Bài 54 Viết chương trình thực hiện công việc sau:
(a) Nhập vào số nguyên dương N. Cấp phát động một mảng nguyên A có N phần tử. Thực hiện việc nhập giá trị cho mảng này.
(b) Kiểm tra mảng A có phải là mảng đan dấu hay không?
(c) Tìm số nguyên tố lớn nhất có trong mảng. Nếu không có phải có thông báo.
Bài 55 Viết chương trình nhập vào ma trận vuông A(NxN), với N nhập vào từ bàn phím.
(a) In ra tổng các giá trị trong tam giác vuông trên của ma trận A (kể cả các phần tử trên đường chéo của ma trận A)
(b) In ma trận tích AxA ra màn hình.
Bài 56 Cho cấu trúc NHANVIEN như sau:
- MaNV: kiểu số nguyên có giá trị trong khoảng 0…65535
- Họtên: kiểu chuỗi.
- Địachỉ: kiểu chuỗi.
- CBQL: có giá trị 1 nếu nhân viên này là cán bộ quản lý.
Viết chương trình thực hiện:
(a) Nhập vào thông tin của một nhân viên.
(b) Nhập vào thông tin của n nhân viên và n được nhập từ bàn phím. In ra họ tên của các nhân viên là cán bộ quản lý.
Bài 57 Cho cấu trúc NHANVIEN như sau:
- MaNV: kiểu số nguyên có giá trị trong khoảng 0…65535
- Họtên: kiểu chuỗi.
- Địachỉ: kiểu chuỗi.
- CBQL: có giá trị 1 nếu nhân viên này là cán bộ quản lý.
Viết chương trình thực hiện:
(a) Nhập vào thông tin của một nhân viên.
(b) Nhập vào thông tin của n nhân viên và n được nhập từ bàn phím. Xóa các nhân viên không là cán bộ quản lý ra khỏi danh sách.
Bài 58 Cho cấu trúc NHANVIEN như sau:
- MaNV: kiểu số nguyên có giá trị trong khoảng 0…65535
- Họtên: kiểu chuỗi.
- Địachỉ: kiểu chuỗi.
- CBQL: có giá trị 1 nếu nhân viên này là cán bộ quản lý.
Viết chương trình thực hiện:
(a) Nhập vào thông tin của một nhân viên.
(b) Nhập vào thông tin của n nhân viên và n được nhập từ bàn phím. Nhập thêm thông tin của một nhân viên và nhập một số nguyên k. Thực hiện việc chèn nhân viên mới vào danh sách tại vị trí k.
Bài 59. Viết chương trình nhập vào ma trận A[N][M]
(a) Hãy xây dựng mảng B[N] với B[i] bằng tổng tất cả các phần tử trên dòng i của ma trận A.
(b) Hãy cho biết các dòng có tổng lớn nhất và các dòng có tổng nhỏ nhất trong ma trận A.
Bài 60. Viết chương trình nhập vào ma trận A[N][M], hãy xuất ra màn hình các phần tử A[i][j] sao cho A[i][j] là phần tử có giá trị lớn nhất dòng i và nhỏ nhất cột j.
Bài 61. Viết chương trình nhập vào ma trận vuông A[N][N].
(a) Trong ma trận A hãy đếm số phần tử có giá trị là số nguyên tố, đồng thời hãy xuất vị trí A(i,j) của các phần tử có giá trị là số nguyên tố.
(b) Hãy tìm giá trị lớn nhất và nhỏ nhất của các phần tử có giá trị là số nguyên tố nằm trên đường chéo chính và chéo phụ của ma trận A.
Bài 62. Viết hàm nhập một ma trận hai chiều NxM(N,M có thể thay đổi) có các phần tử kiểu nguyên.
Sau đó nhập m,n,k từ bàn phím và sử dụng hàm trên để nhập 2 ma trận mxn, nxk. Viết chương trình tính tích của hai ma trận đó. Xuất ma trận kết quả ra màn hình.
Bài 63. Nhập ma trận có số dòng và số cột được nhập từ bàn phím.
(a) Xuất ma trận dưới dạng “chuẩn”
(b) Nhập vào một số x, kiểm tra số lần xuất hiện của x trong ma trận. Nếu x không xuất hiện, hãy in ra số nguyên trong ma trận có giá trị gần giá trị của x nhất.
Bài 64. Viết chương trình tạo ngẫu nhiên hai ma trận vuông a, b(nxn) theo kiểu cấp phát động.
(a) In hai ma trận a, b đã được tạo.
(b) In ra ma trận tổng.
(a) (c) In ra ma trận tích.
Bài 65. Viết chương trình nhập vào một ma trận vuông. Sắp xếp ma trận sao cho:
(a) Phần tử lớn nhất của mỗi hàng nằm trên đường chéo chính.
(b) Sắp xếp tăng dần trên đường chéo chính.
(c) Chuyển đổi ma trận thành mảng một chiều có n*n phần tử.
Bài 66. Viết chương trình nhập vào ma trận vuông A[N][N]. Sau đó hãy sắp xếp các phần tử trên đường chéo chính theo thứ tự tăng dần, các phần tử trên đường chéo phụ theo thứ tự giảm dần. Xuất ma trận kết quả sau khi sắp xếp ra màn hình.

Admin
Admin

Tổng số bài gửi: 782
Join date: 2009-08-15

View user profile http://hackis.forumotion.com

Back to top Go down

View previous topic View next topic Back to top


Permissions in this forum:
You cannot reply to topics in this forum