BÀI TẬP LẬP TRÌNH CPLUS.
Trang 1BÀI TẬP LẬP TRÌNH CPLUS
Trang 2Bài 1 Vi t chế ương trình nh p t bàn phím n s nguyên dậ ừ ố ương nh h n 100, in ra màn hìnhỏ ơ hai c t song song, m t c t là các s , còn c t kia là t ng c a các ch s tộ ộ ộ ố ộ ổ ủ ữ ố ương ng c t thứ ở ộ ứ
nh t Tìm và in ra s có t ng c a các ch s là l n nh t, n u có nhi u h n m t s nh v yấ ố ổ ủ ữ ố ớ ấ ế ề ơ ộ ố ư ậ thì in s đ u tiên.ố ầ
Bài 2 M t ngộ ườ ử ếi g i ti t ki m a đ ng v i lãi su t s% m t tháng (tính lãi hàng tháng) Vi tệ ồ ớ ấ ộ ệ
m t chộ ương trình tính và in ra màn hình hai c t song song, c t th nh t là s tháng đã g i, c tộ ộ ứ ấ ố ử ộ
th hai t ng s ti n (c v n và lãi) ng v i s tháng c t th nh t cho m t kho ng th i gianứ ổ ố ề ả ố ứ ớ ố ở ộ ứ ấ ộ ả ờ
t 1 đ n t tháng, v i a, s, t đừ ế ớ ược nh p t bàn phím.ậ ừ
Bài 3 M t ngộ ườ ử ếi g i ti t ki m à đ ng v i lãi su t là s% m t tháng trong kỳ h n 6 tháng (6ệ ồ ớ ấ ộ ạ tháng tính lãi m t l n) Vi t chộ ầ ế ương trình tính và in ra màn hình hai c t song song, c t thộ ộ ứ
nh t là s tháng đã g i, c t th hai là t ng ti n (c v n và lãi) ng v i s tháng c t thấ ố ử ộ ứ ổ ề ả ố ứ ớ ố ở ộ ứ
nh t cho m t kho ng th i gian t 6 tháng đ n t tháng, v i a, s, và t đấ ộ ả ờ ừ ế ớ ược nh p t bàn phím.ậ ừ (Bi t r ng n u lĩnh không ch n kỳ nào thì không đế ằ ế ắ ược tính lãi kỳ y).ấ
Bài 4 Cho x là m t s th c, hãy xây d ng hàm tính và in ra màn hình hai c t song song, c tộ ố ự ự ộ ộ
th nh t là giá tr c a đ i s , c t th hai là giá tr c a hàm f ng v i đ i s c t th nh t:ứ ấ ị ủ ố ố ộ ứ ị ủ ứ ớ ố ố ở ộ ứ ấ
Sau đó, vi t m t chế ộ ương trình nh p t bán phím m t m ng g m n s th c, và g i hàm đã l pạ ừ ộ ả ồ ố ự ọ ậ
đượ ởc trên v i đ i s là các s v a nh p.ớ ố ố ố ừ ậ
Bài 5 Vi t chế ương trình tính và in ra màn hình s ti n đi n tháng 10/99 c a n khách hàng theoố ề ệ ủ các ch s trên đ ng h đi n c a tháng 9 và c a tháng 10 đỉ ố ồ ồ ệ ủ ủ ược nh p vào t bàn phím (ph iậ ừ ả
ki m tra đ đ m b o r ng ch s c a tháng sau ph i l n h n ch s c a các tháng trể ể ả ả ằ ỉ ố ủ ả ớ ơ ỉ ố ủ ước)
Bi t r ng: 50 s đ u ti n giá 500 đ ng/s , 100 s ti p theo giá 800 đ ng/s , 100 s ti p theoế ằ ố ầ ề ồ ố ố ế ồ ố ố ế
n a giá 1000 đ ng/s , 100 s ti p theo n a giá 1200 đ ng/s , và t s th 351 tr đi giá 1500ữ ồ ố ố ế ữ ồ ố ừ ố ứ ở
đ ng/s ồ ố
Bài 6 Vi t m t chế ộ ương trình nh p vào t bàn phím đi m ki m tra c a m t môn h c c a nậ ừ ể ể ủ ộ ọ ủ
h c sinh và in k t qu ra màn hình dọ ế ả ướ ại d ng hai c t song song, m t c t là đi m và c t thộ ộ ộ ể ộ ứ hai là x p lo i theo đi m v i các qui đ nh sau:ế ạ ể ớ ị
Dưới 5: Y uế
T 5 đ n dừ ế ưới 7: Trung bình
T 7 đ n dừ ế ưới 9: Khá
T 9 tr lên: Gi i ừ ở ỏ
Bài 7 Vi t chế ương trình gi i phả ương trình b c hai ax2+bx+c=0 v i a, b, c b t kỳ đậ ớ ấ ược nh pậ vào t bàn phím In ra màn hình phừ ương trình b c hai v i các h s đã nh p, giá tr c a deltaậ ớ ệ ố ậ ị ủ
và các nghi m th c c a nó (n u c ), ngệ ứ ủ ế ố ươcij l i thì in là không có nghi m th c.ạ ệ ự
Bài 8 Năm 1999, dân s nố ước ta là 76 tri u ngệ ườ ỷ ệi, t l tăng t nhiên là k% m t năm L pự ộ ậ
m t chộ ương trình in ra màn hình hai c t song song, c t th nh t là năm, c t th hai là dân sộ ộ ứ ấ ộ ứ ố
c a năm tủ ương ng c t m t cho đ n khi dân s tăng s l n so v i năm 1999 Các s k và sứ ở ộ ộ ế ố ầ ớ ố
Trang 3được nh p vào t bàn phím.ậ ừ
Bài 9 Vi t chế ương trình gi i b t phả ấ ương trình b n hai v i a, b, c b t kỳ đậ ớ ấ ược nh p t bànậ ừ phím: ax2+bx+c>0 In ra màn hình b t phấ ương trình v i các h s đã nh p, giá tr c a deltaớ ệ ố ậ ị ủ
và các nghi m th c c a b t phệ ự ủ ấ ương trình
Bài 10 Xây d ng m t hàm s p x p thep th t ự ộ ắ ế ứ ự tăng d n ầ m t m ng g m n s th c Vi tộ ả ồ ố ự ế
chương trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hìnhể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã độ ộ ộ ả ư ắ ế ộ ộ ả ượ ắc s p x p.ế
Bài 11 Xây d ng m t hàm s p x p thep th t ự ộ ắ ế ứ ự gi m d n ả ầ m t m ng g m n s th c Vi tộ ả ồ ố ự ế
chương trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hìnhể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã độ ộ ộ ả ư ắ ế ộ ộ ả ượ ắc s p x p.ế
Bài 12 Cho F là m t s th c l n h n 2, và S=1/2+1/3+…+1/n Hãy xây d ng m t hàm đ tìmộ ố ự ớ ơ ự ộ ể giá tr l n nh t c a n sao cho S<=F Vi t m t chị ớ ấ ủ ế ộ ương trình đ nh p vào t bàn phím m sể ậ ừ ố
th c Fi, s d ng hàm nói trên đ i v i các hàm Fi đã nh p và in ra màn hình thành ba c t songự ử ụ ố ớ ậ ộ song: các giá tr c a Fi, n, và S tị ủ ương ng.ứ
Bài 13 Cho F là m t s th c l n h n 2, và S=1/2+1/3+…+1/n Hãy xây d ng m t hàm đ tìmộ ố ự ớ ơ ự ộ ể giá tr nh nh t c a n sao cho S<=F Vi t m t chị ỏ ấ ủ ế ộ ương trình đ nh p vào t bàn phím m sể ậ ừ ố
th c Fi, s d ng hàm nói trên đ i v i các hàm Fi đã nh p và in ra màn hình thành ba c t songự ử ụ ố ớ ậ ộ song: các giá tr c a Fi, n, và S tị ủ ương ng.ứ
Bài 14 Xây d ng m t hàm tính giá tr trung bình c a n s th c (Giá tr trung bình c a m tự ộ ị ủ ố ự ị ủ ộ dãy s đố ược cho b ng công th c: ằ ứ )
S d ng hàm nói trên đ vi t chử ụ ể ế ương trình nh p n s th c t bàn phím và in ra màn hình c tậ ố ự ừ ộ
s đã nh p, t ng, giá tr trung bình c a chúng.ố ậ ổ ị ủ
Bài 15 Xây d ng m t hàm tính giá tr trung bình c a n s th c (Đ lêcnh chu n c a dãy sự ộ ị ủ ố ự ộ ẩ ủ ố
được cho b ng công th c: ằ ứ , v i ớ )
S d ng hàm nói trên đ vi t chử ụ ể ế ương trình nh p n s th c t bàn phím và in ra màn hình c tậ ố ự ừ ộ
s đã nh p, t ng, giá tr trung bình và đ l ch chu n c a chúng.ố ậ ổ ị ộ ệ ẩ ủ
Bài 16 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng s th c Vi t m t chự ộ ể ậ ừ ộ ả ố ự ế ộ ươ ng trình s d ng hàm đã xây d ng đử ụ ự ượ ởc trên đ nh p s li u cho hai m ng s th c, m t m ngể ậ ố ệ ả ố ự ộ ả
có n ph n t , và m t m ng có m ph n t , in ra màn hình hai c t song song, m i c t là m tẩ ử ộ ả ầ ử ộ ỗ ộ ộ
m ng v i ô cu i cùng là t ng c a các ph n t trong m ng, và cu i cùng là t ng c a haiả ớ ố ổ ủ ầ ử ả ỗ ổ ủ
m ng.ả
Bài 17 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng s th c Vi t m t chự ộ ể ậ ừ ộ ả ố ự ế ộ ươ ng trình s d ng hàm đã xây d ng đử ụ ự ượ ởc trên đ nh p s li u cho hai m ng s th c, m t m ngể ậ ố ệ ả ố ự ộ ả
có n ph n t , và m t m ng có m ph n t , in ra màn hình ba c t song song, hai c t đ u là haiẩ ử ộ ả ầ ử ộ ộ ầ
m ng đã nh p, c t th ba t ng c a hai c t đ u, dòng cu i cùng c a c ba c t là t ng c a cácả ậ ộ ứ ổ ủ ộ ầ ỗ ủ ả ộ ổ ủ
ph n t trong c t.ầ ử ộ
Trang 4Bài 18 Cho tu i và s con c a n ph n trong đ tu i 15-49, hãy xây d ng m t hàm tính và inổ ố ủ ụ ữ ộ ổ ự ộ
b n phân b c a các ph n này theo nhóm 5 tu i Vi t chả ố ủ ụ ữ ổ ế ương trình đ nh p tu i và s conể ậ ổ ố
c a n ph n trong đ tu i 15-49, sau đó s d ng hàm đã xây d ng trên đ in b ng phân bủ ụ ữ ộ ổ ử ụ ự ở ể ả ố theo tu i.ổ
Bài 19 Cho tu i và s con c a n ph n trong đ tu i 15-49, hãy xây d ng m t hàm tính và inổ ố ủ ụ ữ ộ ổ ự ộ
b n phân b c a các ph n này theo nhóm 5 tu i Vi t chả ố ủ ụ ữ ổ ế ương trình đ nh p tu i và s conể ậ ổ ố
c a n ph n trogn đ tu i 15-49, sau đó s d ng hàm đã xây d ng trên đ in b ng phân bủ ụ ữ ộ ổ ử ụ ự ở ể ả ố
s con c a các ph n ố ủ ụ ữ này theo tu i.ổ
Bài 20 Cho m t xây b t kỳ, không s d ng các hàm th vi n v xâu, hãy xây d ng m t hàmộ ấ ử ụ ư ệ ề ự ộ
đ i t t c các ổ ấ ả ch th ữ ườ thành ch hoa ng ữ (các ký t khác gi nguyên) và in c hai ra mànự ữ ả hình Vi t m t chế ộ ương trình nh p m t xây b t kỳ t bàn phím, sau đó s d ng hàm đã xâyậ ộ ấ ừ ử ụ
d ng trên đ in k t qu ra màn hình.ự ở ể ế ả
Bài 21 Cho m t xây b t kỳ, không s d ng các hàm th vi n v xâu, hãy xây d ng m t hàmộ ấ ử ụ ư ệ ề ự ộ
đ i t t c các ổ ấ ả ch hoa ữ thành ch th ữ ườ ng (các ký t khác gi nguyên) và in c hai ra mànự ữ ả hình Vi t m t chế ộ ương trình nh p m t xây b t kỳ t bàn phím, sau đó s d ng hàm đã xâyậ ộ ấ ừ ử ụ
d ng trên đ in k t qu ra màn hình.ự ở ể ế ả
Bài 22 Cho m t xây b t kỳ, không s d ng cac shamf th vi n v xâu, hãy xây d ng m tộ ấ ử ụ ư ệ ề ự ộ hàm đ i t t c các ổ ấ ả ch hoa ữ c a xây thành ủ ch th ữ ườ , và ng ng ượ ạc l i, đ i các ổ ch th ữ ườ ng
c a xâu thành ủ ch hoa ữ (các ch khác gi nguyên) và in c hai ra màn hình Vi t m t chữ ữ ả ế ộ ươ ng trình nh p m t xâu b t kỳ t bàn phím, sau đó s d ng hàm đã xây d ng trên đê in k t quậ ộ ấ ừ ử ụ ự ở ế ả
ra màn hình
Bài 23 Cho c u trúc:ấ
Code:
struc thisinh{
int sbd; //S báo danh ố
char hoten[25]; //H và tên ọ
float m1,m2,m3l //Đi m ba môn thi ể
float tong; //T ng đi m ba môn ổ ể
} danhsach[100];
Hãy xây d ng m t hàm đ nh p s li u cho n thí sinh Sau đó vi t m t chự ộ ể ậ ố ệ ế ộ ương trình s d ngử ụ hàm nói trên đ nh p s li u và in b ng đi m c a các thí sinh này theo d ng ba c t: S báoể ậ ố ệ ả ể ủ ạ ộ ố danh, H tên, T ng đi m.ọ ổ ể
Bài 24 Cho m t xây b t, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không vi t hoa đ u ế ầ câu trong xâu này, in ra xâu ch a s a và xâu đã s a Sau đó vi t m t chư ử ử ế ộ ương trình đ nh pể ậ
m t xâu và s d ng hàm nói trên đ s a l i.ộ ử ụ ể ử ỗ
Bài 25 Cho c u trúc:ấ
Code:
struc dienthoai{
Trang 5int sdt; //S đi n tho i ố ệ ạ
char hoten[25]; //H và tên ọ
float sotien; //S ti n ph i n p ố ề ả ộ
} thuebao[100];
Hãy xây d ng m t hàm đ nh p s li u cho n thuê bao Sau đó vi t m t chự ộ ể ậ ố ệ ế ộ ương trình sử
d ng hàm nói trên đ nh p s li u và in b ng s ti n ph i n p c a các thuê bao theo d ng baụ ể ậ ố ệ ả ố ề ả ộ ủ ạ
c t: H tên, s đi n tho i, s ti n ph i n p.ộ ọ ố ệ ạ ố ề ả ộ
Bài 26 Hãy xây d ng m t hàm in ra màn hình n i dung m t t p văn b n b t kỳ (có d ng l iự ộ ộ ộ ệ ả ấ ự ạ sau m i trang màn hình) Sau đó, vi t m t chỗ ế ộ ương trình đ nh p vào t bàn phím tên c a m tể ậ ừ ủ ộ
t p văn b n và s d ng hàm nói trên đ in n i dung c a t p này ra màn hình.ệ ả ử ụ ể ộ ủ ệ
Bài 27 Cho tu i và trình đ văn hóa (0-4) c a n ngổ ộ ủ ười, hãy xây d ng m t hàm in b n phân bự ộ ả ố
c a s ngủ ố ười này theo nhóm 5 tu i và trình đ văn hóa Sau đó, vi t m t chổ ộ ế ộ ương trình để
nh p tu i và trình đ văn hóa c a n ngậ ổ ộ ủ ười, s d ng hàm nói trên đ in k t qu ra màn hình.ử ụ ể ế ả
Bài 28 Vi t m t chế ộ ương trình đ nh p tu i và trình đ văn hóa (0-4) c a n ngể ậ ổ ộ ủ ười, sau đó ghi các s li u này lên m t t p mode văn b n.ố ệ ộ ệ ả
Bài 29 Cho m t xâu b t kỳ, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không có d u ấ cách sau d u ph y và sau d u ch m ấ ả ấ ấ , in ra màn hình xâu ch a s a và xâu đã s a Sau đó vi tư ử ử ế
chương trình đ nh p m t xâu b t kỳ và s d ng hàm nói trên đ s a l i.ể ậ ộ ấ ử ụ ể ử ỗ
Bài 30 Cho m t xâu b t kỳ, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không có d u ấ cách gi a các t ữ ừ, in ra xâu g c và xâu đã s a Sau đó vi t m t chố ử ế ộ ương trình đ nh p m t xâuể ậ ộ
ký t b t kỳ và s d ng hàm nói trên đ s a l i.ự ấ ử ụ ể ử ỗ
Bài 31 Cho m t xâu b t kỳ, hãy xây d ng m t hàm đ ộ ấ ự ộ ể vi t hoa ch cái đ u tiên c a t t c ế ữ ầ ủ ấ ả các từ trong xâu đã cho, in ra xâu g c và xâu đã s a Sau đó vi t m t chố ử ế ộ ương trình đ nh pể ậ
m t xâu ký t b t kỳ và s d ng hàm nói trên đ s a l i.ộ ự ấ ử ụ ể ử ỗ
Bài 32 Cho c u trúc:ấ
Code:
struc tiendien{
char hoten[25]; //H và tên ọ
float csc,csm; //Ch s cũ, ch s m i ỉ ố ỉ ố ớ
float dg; //Đ n giá/Kw ơ
float tong; //T ng ti n ph i n p ổ ề ả ộ
} danhsach[100];
Hãy xây d ng m t hàm đ nh p s li u cho n h s d ng đi n Sau đó, vi t m t chự ộ ể ậ ố ệ ộ ử ụ ệ ế ộ ươ ng trình s d ng hàm nói trên đ nh p s li u và in b ng tính ti n s d ng đi n tho i c a cácử ụ ể ậ ố ệ ả ề ử ụ ệ ạ ủ
h này theo d ng hai c t: H tên, s đi n tiêu th , T ng s ti n.ộ ạ ộ ọ ố ệ ụ ổ ố ề
Bài 33 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng các s th c Vi t ch ng trìnhự ộ ể ậ ừ ộ ả ố ự ế ư
s d ng hàm nói trên đ nh p s li u cho hai m ng s th c cùng có n ph n t , in ra màn hìnhử ụ ể ậ ố ệ ả ố ự ầ ử
ba c t song song, hai c t đ u là hai m ng đã nh p, còn c t th ba là hi u c a hai c t đ u,ộ ộ ầ ả ậ ộ ứ ệ ủ ộ ầ
Trang 6#include <iostream.h>
void trim(char *s){
for(int i=0; s[i]!='\0'; )
if(s[i]==' ' && s[i+1]==' ')
for(int k=i; s[k]!='\0'; k++) s[k] = s[k+1];
else
i++;
if(s[i-1]==' ') //c t đi kí t tr ng bên ph i (n u còn) ắ ự ắ ả ế
s[i-1] = 0;
if(s[0]==' ') //c t đi kí t tr ng bên trái (n u còn) ắ ự ắ ế
for(i=0; s[i]!='\0'; i++) s[i] = s[i+1];
}
void main(){
char s[80];
cout<<"Moi ngai nhap xau ky tu: ";
cin.getline(s,80);
trim(s);
cout<<s<<'!'; //in d u ch m than ! ngay sau xâu s đ nhìn th y hàm c t ấ ấ ể ấ ắ
đ ượ c c d u cách th a bên ph i ả ấ ừ ả
}
Mai đi công tác play roài, hok còn th i gian post bài, nên đ a ra vài đ u bài, các b n phân tíchờ ư ầ ạ
và cùng th o lu n cách gi i nhé, ai gi i đúng khi v ả ậ ả ả ềmalyfo s tuyên dẽ ương (và cho k o n a,ẹ ữ hehe)
Bài 6: Vi t hàm đ m s t xu t hi n trong xâu ng d ng hàm đó vi t chế ế ố ừ ấ ệ Ứ ụ ế ương trình hoàn
ch nh nh p xâu ký t t bàn phím, in ra màn hình s t có trong xâuỉ ậ ự ừ ố ừ
Bài 7: Vi t hàm đ m s t b t đ u b ng 'tr' có trong xâu ng d ng hàm đó vi t chế ế ố ừ ắ ầ ằ Ứ ụ ế ương trình hoàn ch nh nh p xâu ký t t bàn phím, in ra màn hình s t b t đ u b ng 'tr' có trong xâu.ỉ ậ ự ừ ố ừ ắ ầ ằ
Bài 8: Vi t hàm đ m s k t thúc b ng 'ng' có trong xâu ng d ng hàm đó vi t chế ế ố ế ằ Ứ ụ ế ương trình hoàn ch nh nh p xâu ký t t bàn phím, in ra màn hình s t k t thúc b ng 'ng' có trong xâu.ỉ ậ ự ừ ố ừ ế ằ
Bài 9: Vi t hàm in các t trong xâu, m i t trên 1 dòng ng d ng hàm đó vi t chế ừ ỗ ừ Ứ ụ ế ương trình hoàn ch nh nh p xâu ký t t bàn phím, in ra màn hình các t trong xâu, m i t trên 1 dòngỉ ậ ự ừ ừ ỗ ừ
Bài 10: Vi t hàm ki m tra xem 1 chu i có ph i ch a toàn ký t s hay không? ng d ng hàmế ể ỗ ả ứ ự ố Ứ ụ trên và hàm trong bài 9 vi t chế ương trình hoàn ch nh nh p xâu ký t t bàn phím đ đ m xemỉ ậ ự ừ ể ế trong xâu có bao nhiêu t toàn là s ?ừ ố
Bài 11: Vi t hàm ki m tra xem 1 chu i có ph i ch a toàn ký t s hay không? N u toàn là sế ể ỗ ả ứ ự ố ế ố thì tính giá tr c a s tị ủ ố ương ng v i chu i đó? ng d ng hàm trên và hàm trong bài 9 vi tứ ớ ỗ Ứ ụ ế
chương trình hoàn ch nh nh p xâu ký t t bàn phím đ tính t ng các t là s trong xâu?ỉ ậ ự ừ ể ổ ừ ố
Bài 12: ch a nghĩ ra, hehe, th cái đã, các b n th s c nhé, quan tr ng là ch phân tích đư ế ạ ử ứ ọ ỗ ể
người khác hi u hì, n u các bài trên có ai không hi u thì cho ý ki n nhéể ế ể ế