Bài tập Ngôn ngữ C
Trang 1Bài 1:
Viết chương trình in ra màn hình câu:
Chao ban ! Moi ban lam quen voi Turbo C
Nhưng mỗi khi chạy chương trình thì dòng chữ này luôn luôn hiện ở đỉnh màn hình Muốn vậy phải sử dụng hàm nào trong thư viện conio.h
Bài 2:
Viết chương trình in ra màn hình câu:
Chao ban ! Moi ban lam quen voi Turbo C
Bài 3:
Viết chương trình in dòng chữ có dạng sau:
Chao ban !
Moi ban lam quen voi Turbo C
Bài 4:
Viết chương trình nhập vào tên của một người, sau đó trên màn hình sẽ xuất hiện câu chào người đó
Ví dụ nếu bạn nhập vào tên Xuân thì trên màn hình sẽ xuất hiện câu:
Chao ban: Xuan
Bài 5:
Viết chương trình để mỗi lần chạy, Turbo C sẽ hiển thị ra màn hình bài thơ sau:
AO THU
Ao thu lanh leo nuoc trong veo, Mot chiec thuyen cau be teo teo
Song biet theo lan hoi gon ti
La vang truoc gio khe dua veo
NGUYEN KHUYEN
Bài 6:
Viết chương trình nhập vào 2 số nguyên, Turbo C sẽ thực hiện 4 phép tính số học Giả
sử nếu bạn nhập vào số thứ nhất là 6, số thứ hai là 4 thì trên màn hình sẽ xuất hiện kết quả như sau:
Tổng của 2 số a = 6 và b = 4 là 10
Hiệu của 2 số a = 6 và b = 4 là 2
Tích của 2 số a = 6 và b = 4 là 24
Thương của 2 số a = 6 và b = 4 là 1.5
Bài 7:
Viết chương trình tính chu vi và diện tích của hình tròn
Khi bạn nhập bán kính vào từ bàn phím, Turbo C sẽ tính chu vi, diện tích và hiển thị ra màn hình có dạng sau:
KET QUA TINH CHU VI VA DIEN TICH HINH TRON Ban kinh hinh tron r = … met
Chu vi hinh tron c = … met Dien tich hinh tron s = … met
Bài 8:
Viết chương trình tính giá trị cua xy bằng cách nhập trị của x và y từ bàn phím Turbo C sau khi tính toán xong sẽ hiển thị kết quả ra màn hình theo dạng sau:
KET QUA CUA CHUONG TRINH TÍNH X LUY THUA Y
x luy thua y = …
Trang 2Bài 9:
Tìm những sai lầm trong việc khai báo biến sau đây:
$ten
23xy
Tien luong
do
extern
Bài 10:
Cho biết các khai báo biến sau đây có hợp lệ hay không?
a) int num, X, dbopen = 0; b) Char y&1, x$2;
c) double _Var1; _Var2; d) Unsigned long lxduy;
g) int i = ‘c’, j = 2
Bài 11:
Tìm sai lầm trong đoạn chương trình sau:
Main( )
{
int A, B;
Print(“\n Nhap A va B”);
Scanf(“%d %d”,a, B);
printf(“\n Tong cua %d va %d la %d”,a+b);
getch( );
}
Bài 12:
Cho biết các hằng sau đây thuộc kiểu dữ liệu nào?
Bài 13:
Viết chương trình để thể hiện ra màn hình
Day la dau nhay don ‘Turbo C 2.0’
Va day la dau nhay kep “Turbo C 2.0”
Duong day vao file stdio.h la “C:\TC\INCLUDE\stdio.h”
File Edit Run Complile Project Debug Break/Watch
EDIT
COMPILE
DEBUG
WATCH
EDIT COMPILE DEBUG WATH
Bài 14:
Viết chương trình in ra màn hình
c = a c = 97
Bài 15:
Viết chương trình thể hiện các yêu cầu sau:
- Nhập vào 4 số
- Xuất ra màn hình
+ Tổng của 4 số vừa nhập vào = ?
+ Trung bình cộng của 4 số là = ?
Trang 3Bài 16:
Viết chương trình tính lương cho một người theo các yêu cầu sau:
- Nhập tên của người được lĩnh lương
- Nhập bậc lương, số ngày làm việc trong tháng, hệ số phụ cấp lương và số tiền đã tạm ứng kỳ 1
- Yêu cầu xuất ra màn hình như sau:
So tien luong duoc huong: ?
So tien da tam ung: ?
So tien con duoc lanh: ? Công thức tính tiền lương như sau:
- Tiền lương = Bậc lương/30 * Ngày công * Hệ số
- Tiền còn lĩnh = Tiền lương - Tiền tạm ứng
Bài 17:
Viết chương trình nhập vào một con số ở hệ 10 và đổi số đó ra hệ 8 và hệ 16
Bài 18:
Viết chương trình nhập vào hai số kiểu int, thực hiện 2 hoặc cả 4 phép toán số học với các yêu cầu giả sử như sau:
- Cộng hai số nguyên với nhau
- Gán trị của một số int cho một biến kiểu float
- Thương (kiểu int) của 2 toán hạng kiểu int
- Thương (kiểu float) của 2 toán hạng kiểu int
- Tìm số dư của 2 số đó (kiểu int)
- Gán trị thập phân cho một biến kiểu float và trị nguyên của một biến kiểu nguyên, kết quả tính toán ra sao?
Bài 19:
Viết chương trình nhập vào 2 số kiểu int gán cho 2 biến i và j chẳng hạn
Hãy xét các phép toán quan hệ sau và quan sát kết quả hiển thị trên màn hình (Trị 1 là đúng, trị 0 là sai)
i > j = ?
i < j = ?
i >= j = ?
i <= j = ?
i != j = ?
i == j = ?
Bài 20:
Viết chương trình nhập 2 số kiểu int và gán cho 2 biến i và j
Hãy xét các phép toán luận lý sau và quan sát kết quả trên màn hình
!i= ?
!j= ?
i && j = ?
i || j = ?
Trang 4Bài 21:
Viết chương trình nhập vào 2 số kiểu int và gán cho 2 biến i và j
Hãy xét các phép toán xử lý trên bit sau và quan sát kết quả trên màn hình, sau đó tính toán thủ công để kiểm tra lại kết quả có đúng hay không?
i & j = ?
i | j = ?
i ^ j = ?
Bài 22:
Cho 2 số int a = 4 và b = 6
Hãy dự đoán trị của các số a, b và n trong các phép toán tăng, giảm sau:
n = a + b-> n = ? a = ? b = ?
n = ++a + b -> n = ? a = ? b = ?
n = a++ +b -> n = ? a = ? b = ?
n = a + b -> n = ? a = ? b = ?
n = a + b-> n = ? a = ? b = ?
n = a + b -> n = ? a = ? b = ?
Bài 23:
Viết chương trình nhập vào 2 số kiểu int, in ra màn hình số lớn trong 2 số đó
Bài 24:
Viết chương trình tìm số lớn nhất trong 4 số nguyên nhập vào từ bàn phím
Bài 25:
Viết chương trình nhập vào một trong các ký tự a, b, c, d, e, f hoặc A, B, C, D, E, F Trên màn hình sẽ thông báo ký tự đó là ký số nào trong hệ 16
Bài 26:
Viết chương trình nhập vào giờ, phút, giây
Sau đó nhập thêm vào một số giây, máy sẽ tính toán lại rồi thông báo ra màn hình:
* Luc dau la: x gio: y phut: z giay
* Neu ban cong them: a giay
* Gio moi la: x1 gio: y1 phut: z1 giay
Bài 27:
Viết chương trình giải phương trình bậc nhất: ax + b = 0
Bài 28:
Viết chương trình giải phương trình bậc hai: ax2 + bx + y = 0
Bài 29:
Viết chương trình tính n!; với n là số dương
Biết rằng: 0!=1 và n!=1*2*3*…*n
Bài 30:
Viết chương trình tính xy, với x, y nhập từ bàn phím; y nguyên dương, x là số thực bất kỳ
Bài 31:
Viết chương trình in ra màn hình tất cả các số xe “chín nút” trong các trường hợp sau: + Bảng số xe có 3 số
+ Bảng số xe có 4 số
Trang 5Bài 32:
Viết các hàm:
+ Nhập, tối giản, in một phân số
+ Quy đồng mẫu số, cộng, trừ, nhân, chia 2 phân số
Sau đó, viết chương trình sử dụng những hàm trên để tính toán cho các phân số nhập vào
Gợi ý: Sử dụng các hàm tính USCLN, BSCNN.
Bài 33:
Viết hàm đổi từ số thập phân sang số nhị phân
Bài 34:
Viết chương trình in ra màn hình tam giác Pascal như sau:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
bằng cách viết các hàm tính giai thừa và tính tổ hợp của một số nguyên dương
Biết rằng:
Mỗi một số hạng của hàng thứ (n+1) là một tổ hợp chập k của n:
ToHop(n,k) = n!/(k!*(n-k)!);
Bài 35:
Áp dụng các giải thuật của bài tập trước, viết các hàm sau đây:
+ Tính chu vi, diện tích của hình vuông, hình chữ nhật, hình tròn, tam giác
+ Tính USCLN
+ Tính BSCNN
+ Xác định số nguyên tố
+ Tính giai thừa
+ Tính lũy thừa
+ Tính tổ hợp
Mục đích:
Đổi từ thiết kế dạng chương trình chính thực hiện công việc sang dạng viết các hàm
và chương trình chính (hàm main) viết sau để gọi các hàm thực hiện công việc
Bài 36:
Viết chương trình nhập vào n số nguyên từ bàn phím Sau đó, sắp xếp dãy số theo thứ tự tăng dần, in dãy số ra màn hình
+ Cách 1: dùng kiểu mảng
+ Cách 2: dùng kiểu con trỏ
Bài 37:
Bằng cách dùng kiểu con trỏ, viết chương trình đảo ngược 1 chuỗi ký tự
Bài 38:
Viết chương trình: nhập, in ma trận; Tính tổng, tích của 2 ma trận
Biết rằng:
Với 2 ma trận A, B cùng cấp (m,n): Ma trận tổng: Cij = Aij + Bij ; (i=1 m; j=1 n) Với ma trận A(m,k) và B(k,n): Ma trận tích: Cij = Ai1*B1j + Ai2*B2j + … + Aik*Bkj;
(i = 1 m; j=1 n)
Bài 39:
Viết chương trình nhập vào họ tên một người
Tách tên người đó ra và in lên màn hình
Trang 6Bài 40:
+ Nhập vào một danh sách n nhân viên
+ Cắt bỏ các khoảng trống dư thừa có trong họ tên
+ Đổi các chữ đầu của: họ, chữ lót, tên thành chữ hoa
+ Sắp xếp danh sách đó theo tên, in danh sách đó lên màn hình
Bài 41:
Viết chương trình kiểm tra một chuỗi ký tự có đối xứng hay không
Ví dụ: 1647461, 123321: là đối xứng.
Bài 42:
Viết chương trình tính tổng dãy số:
1/1! + 1/2! + 1/3! + … + 1/n!