7210119 bai tap lap trinh

BÀI TẬP NGÔN NGỮ LẬP TRÌNH C – THAM KHẢO

LOẠI BÀI MỨC  A 

A01.Nhập số tự nhiên  n  rồi tính tổng (lưu ý phép chia các số nguyên):

S =1+++...+ 

A02.Nhập số tự nhiên  n  rồi tính các tổng sau:

S=tổng các số tự nhiên không lớn hơn  n, S1=tổng các số tự nhiên lẻ không lớn hơn  n,  S2=tổng các số tự nhiên chẵn không lớn hơn  n.

A03.Nhập số tự nhiên  n  rồi tính tổng các số tự nhiên không lớn hơn  n và chia hết cho 7.

A04.Nhập số tự nhiên  n  rồi tính tổng các số tự nhiên không lớn hơn  n và không chia hết cho  7.

A05.Nhập số tự nhiên  n  và dãy số thực a[0], a[1], ..., a[n-1] rồi kiểm tra xem dãy  này có tạo thành cấp số cộng không.

A06.Nhập số tự nhiên  n  và dãy số thực a[0], a[1], ..., a[n-1] rồi kiểm tra xem dãy  này có tạo thành cấp số nhân không.

A07.Ba số dương a,b,c  là độ dài các cạnh của một tam giác nếu tổng của 2 số bất kỳ lớn hơn số còn lại. Nhập 3 số  a,b,c  và kiểm tra xem chúng có thể là độ dài của các cạnh của một tam giác hay không.

A08.Nhập một số tự nhiên n rồi  đếm các số tự nhiên không lớn hơn  n  và chia cho 3 dư 1 (tức là các số đồng dư với 1 mod 3).

A09.Hãy nhập 4 số thực  a,b,c,d. Tìm giá trị lớn nhất của chúng và gán giá trị lớn nhất đó cho biến max.

A10.Nhập số n và dãy các số thực  a[0], a[1],..., a[n-1]. Sau đó tìm số lớn nhất trong dãy này.

A11.Nhập 3 số  thực a,b,c  rồi giải và biện luận phương trình bậc 2   ax2 + bx + c = 0 .

A12.Viết chương trình  C giải bài toán sau: trăm trâu trăm cỏ, trâu đứng ăn 5, trâu nằm ăn 3, lụ khụ trâu già, ba con ăn 1. Hỏi có bao nhiêu trâu đứng, bao nhiêu trâu nằm và bao nhiêu trâu già? 

A13.Nhập số tự nhiên  n  rồi tính  n!  theo công thức:

            n! = 1                                       nếu n=0

                = n*(n-1)*(n-2)*...*2*1      nếu n>0                      

A14.    Viết chương trình tìm ước số chung lớn nhất  của 2 số nguyên m, n theo thuật toán Euclid.

A15. Hãy viết hàm tính tổng các chữ số của một số nguyên bất kỳ.

         Ví dụ: Số  8545604 có tổng các chữ số là: 8+5+4+5+6+0+4= 32

LOẠI BÀI MỨC  B

B01.Nhập số tự nhiên n rồi liệt kê các ước số của nó. Có bao nhiêu ước số?

B02.Nhập 2 số tự nhiên m,n rồi kiểm tra xem chúng có nguyên tố cùng nhau không. (Hai số nguyên tố cùng nhau là 2 số có USCLN là 1)

B03.3 số dương a,b,c là 3 cạnh của một tam giác vuông trong đó c là cạnh huyền nếu

c2 = a2  +  b2  (1). Nhập một số tự nhiên  n (thí dụ n=50). Sau đó liệt kê tất cả các số tự nhiên a,b,c  sao cho  a£b£c£n  và a,b, c thỏa mãn (1).  Có bao nhiêu bộ 3 số  a, b, c như vậy?

B04.3 số dương a,b,c là 3 cạnh của một tam giác vuông trong đó c là cạnh huyền nếu 

c2 = a2  +  b2  (2). Nhập một số tự nhiên  n (thí dụ n=100). Sau đó liệt kê tất cả các số tự nhiên a,b,c  sao cho  a,b, c là các số tự nhiên liên tiếp và thỏa mãn (2). Có bao nhiêu bộ 3 số  a, b, c như vậy?

B05.Tìm tất cả các số có 3 chữ số  abc   sao cho tổng lập phương của các chữ số thì bằng chính số đó, nghĩa là:

         abc =  a3  +  b3 +  c3  (3)

         Có bao nhiêu số  như vậy?

         (Các số  thỏa mãn  (3) được gọi là các số  Amstrong có 3 chữ số).

B06.Nhập vào 2 số tự nhiên  m và n, sao cho  m<n. Hãy liệt kê các số chính phương trong khoảng [m,n]. Có bao nhiêu số chính phương?

(Số tự nhiên   p  được gọi là chính phương nếu  p = k2 với số tự nhiên k nào đó) 

B07.Nhập vào 2 số tự nhiên  m và n, sao cho  m<n. Hãy liệt kê các số không chính phương trong khoảng [m,n]. Có bao nhiêu số không chính phương?

(Số tự nhiên   p  được gọi là chính phương nếu  p = k2 với số tự nhiên k nào đó) 

B08.Nhập một số nguyên dương n, sau đó viết ra màn hình số đó dưới dạng nhị phân.

B09.Đọc một số thực <1 , sau đó viết ra màn hình số đó dưới dạng nhị phân.

B10.Nhập số n và dãy các số thực  a[0], a[1],..., a[n-1] rồi sắp xếp dãy trên theo thứ tự tăng dần.

B11.Nhập  6 số nguyên  a, b, c, d, p, q  rồi liệt kê tất cả các cặp  số tự nhiên  x, y thỏa mãn hệ phương trình:

         ax+by=p

         cx+dy=q

         Có bao nhiêu cặp nghiệm như vậy?

B12.Thời gian làm một việc nào đó là  x  giây. Hãy đọc  x  từ bàn phím và viết chương trình chuyển sang bao nhiêu giờ, phút,giây.

B13.Có 3 loại giấy bạc là tờ 500đ, 200đ  và 50đ. Hãy tìm tất cả các tổ hợp có thể có được của 3 loại giấy bạc trên cho số tiền là  5750đ.

B14.Tính  n!!= 135...n    nếu  n lẻ

                        =  246...n   nếu  n chẵn

B15. Viết chương trình nhập số liệu cho ma trận các số thực  A  cấp   mxn   trong đó   m, n là các số tự nhiên. Sau đó tìm ma trận chuyển vị B = (bij)  cấp  nxm, bij = aji i = 1,2,...,n;j =1,2,...,m

         Cho hiện 2 ma trận trên màn hình để tiện so sánh.

B16.Viết chương trình tính tích  2  ma trận các số thực  A  cấp  mxn  và  B   cấp  nxk.

B17.Nhập ma trận vuông A cấp  n có các phần tử là các số thực rồi

         - Đếm các phần tử >0

         - Đếm các phần tử <0

B18.Nhập số liệu cho dãy số thực  a0 , a1 ,..., an-1 . Đếm xem có bao nhiêu cặp 2 phần tử liên tiếp bằng nhau  trong dãy  trên (tức là đếm số cặp   ai , ai+1 sao cho  ai =  ai+1; nếu  có trường hợp  ai = ai+1 = ai+2 thì  được xem là có 2 cặp).

B19.Nhập số liệu cho dãy số thực a0 , a1 ,..., an-1  và  một số  x  bất kỳ. Đếm số lần xuất hiện của số  x  trong dãy  trên.

B20.Nhập số liệu cho dãy số thực a0 , a1 ,..., an-1 . Tìm  số bé nhất  trong dãy  trên và vị trí của nó trong dãy.

B21.Nhập số liệu cho dãy số thực  a0 , a1 ,..., an-1  và  2 số thực  b, c (b<c). Tính trung bình cộng các phần tử của dãy  nằm trong khoảng  [b, c].

B22.Nhập số liệu cho dãy số nguyên a0 , a1 ,..., an-1 Hãy đếm xem trong dãy có bao nhiêu số lẻ và bao nhiêu số chẵn.

B23.Nhập số liệu cho dãy số nguyên  a0 , a1 ,..., an-1  và  2 số thực b, c (b<c). Tính trung bình cộng các phần tử của dãy  nằm trong khoảng  [b,c] và chia hết cho 7.

B24.Tổng của  n số  tự nhiên đầu tiên được cho bởi công thức:

                        1  + 2 + 3 + ... + n =       (4)

         Hãy nhập số tự nhiên  n bất kỳ  và  kiểm tra xem công thức   (4)  có đúng không. Bạn hãy cho hiện trên màn hình câu trả lời: "Đẳng thức đúng", hay  "Đẳng thức sai" tuỳ vào kết quả so sánh.

B25.Tổng các bình phương của  n số  tự nhiên đầu tiên được cho bởi công thức:

                        12  + 22 + 32 + ... + n2 =       (5)

         Hãy nhập số tự nhiên  n bất kỳ  và  kiểm tra xem công thức   (5)  có đúng không. Bạn hãy cho hiện trên màn hình câu trả lời: "Đẳng thức đúng", hay  "Đẳng thức sai" tuỳ vào kết quả so sánh.

B26.Tổng các lập phương của  n số  tự nhiên đầu tiên được cho bởi công thức:

                        13  + 23 + 33 + ... + n3 =                  (6)

         Hãy nhập số tự nhiên  n bất kỳ  và  kiểm tra xem công thức   (6)  có đúng không.

B27.Giả sử dãy các số thực  a1 , a2 ,..., an  lập thành cấp số cộng với công sai d, nghĩa là   ai+1=ai+d, i=1,2,...,n-1.

         Hãy viết chương trình  C  để nhập số tự nhiên  n bất kỳ, số thực  a1  và số nguyên  d  và  kiểm tra xem công thức   sau có đúng không:

                        Sn = a1 + a2 +...+ an =  

B28.Giả sử dãy các số thực  a1 , a2 ,..., an  lập thành cấp số nhân với công bội q, nghĩa là  ai+1=ai*q, i=1,2,...,n-1.

         Hãy viết chương trình  C  để nhập số tự nhiên  n bất kỳ, số thực  a1  và số thực  q  và  kiểm tra xem công thức  sau có đúng không:

                        Sn = a1 + a2 +...+ an = a1  

B29.Nhập số liệu cho dãy số thực  a0 , a1 ,..., an-1  và  một số   b  bất kỳ. Tính 3 số c1, c2, c3, trong đó  c1 là số phần tử  < b, c2 là số phần tử = b  và  c3 là số phần tử >b.

LOẠI BÀI MỨC  C

C01.Tính giá trị của đa thức  P(x)=anxn+ an-1xn-1+ ... + a1x+ a0

Theo cách tính của Horner để đạt được tốc độ tính nhanh:

                        P(x)=((((anx+ an-1)x+ an-2... + a1)x+ a0

C02. Đếm số chữ trong một xâu ký tự. Thí dụ chuỗi "Trường học" có 2 chữ.

C03.Một chuỗi được gọi là Palindrome nếu sau khi đảo ngược các ký tự của nó, ta nhận được chuỗi ban đầu. Ví dụ: chuỗi "MADAM" là Palindrome. Viết chương trình nhập rồi xác định xem một chuỗi có phải là Palindrome hay không.

C04. Nhập một số tự nhiên n. Hãy liệt kê các số nguyên tố không lớn hơn n.

C05.Nhập một số  c>0 (ví dụ c = 0.0001) rồi dùng lệnh while  để tính số p  theo công thức:

                        p = 4* (1-+-+...+(-1)n) 

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  £ c   thỏa mãn.

                       

C06.Nhập một số  c>0 (ví dụ c = 0.0001) rồi dùng lệnh for  để tính số p  theo công thức:

                        p = 4* (1-+-+...+(-1)n) 

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  £ c   thỏa mãn.

C07.Nhập một số  c>0 (ví dụ c = 0.0001) và một số thực  x  rồi tính

ex = 1+  +  + ... +

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  | | £ c   thỏa mãn.

C08. Nhập một số  c>0 (ví dụ c = 0.0001) và một số thực  x  rồi tính

sin x = -  +  -... +(-1)n

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  || £ c   thỏa mãn.

So sánh kết quả trên đây với giá trị hàm chuẩn sin(x) có sẵn trong C.

C09. Nhập một số  c>0 (ví dụ c = 0.0001) và một số thực  x  rồi tính

cos x = 1 -  +  -... +(-1)n

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  || £ c   thỏa mãn.

So sánh kết quả trên đây với giá trị hàm chuẩn cos(x) có sẵn trong C.

C10.Viết hàm  n! theo công thức sau:

            n! = 1              nếu n=0

                = n*(n-1)!   nếu n>1                       

         sau đó nhập các số  tự nhiên n và k rồi dùng hàm này này tính     =       

C11.Cho một chuỗi ký tự  có độ dài  n, hãy đếm số lần xuất hiện của  các ký tự ‘A’,’B’,’C’ theo cách:

         a. Có phân biệt chữ hoa chữ thường.

         b. Không phân biệt chữ hoa chữ thường.

C12.Nhập một số nguyên dương, sau đó viết ra màn hình số  đó dưới dạng  cơ số 11, với quy ước chữ số  10  được kí hiệu là A.

C13.Nhập số n và dãy các số thực  a[0], a[1],..., a[n-1] rồi sắp xếp dãy trên theo thứ tự tăng dần theo phương pháp nổi bọt (bubble sort).

C14.    Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực. Tìm các giá trị cực đại và cực tiểu  của các phần tử và chỉ rõ vị trí  của chúng trong bảng.

C15.    Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1   và  một giá trị thực  x. Giả sử dãy  a đã được sắp xếp theo thứ tự tăng dần. Hãy chèn  giá trị  x vào dãy  a sao cho vẫn giữ được tính sắp xếp của mảng.

C16.    Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1 . Kiểm tra xem dãy đã được sắp xếp theo thứ tự tăng dần hay không. Nếu không hãy chỉ ra vị trí phần tử đầu tiên làm mất tính chất được sắp của dãy.

C17.Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực. Tìm phần tử bé nhất của mỗi dòng và đặt chúng vào cột đầu tiên. (Tức là phần tử đầu tiên của mỗi dòng sẽ là phần tử bé nhất của dòng đó).

C18 Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực. Tìm phần tử bé nhất của ma trận và đếm xem có bao nhiêu phần tử bằng phần tử bé nhất.

C19.Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực. Hãy liệt kê trên màn hình tất cả các phần tử của ma trận nhưng theo thứ tự tăng dần.

C20.Nhập số liệu cho dãy số thực dương R1 , R2 ,..., Rn  trong đó  Ri  biểu thị điện trở thành phần trong một cụm  gồm n điện trở đấu song song. Hãy tính điện trở của toàn cụm theo công thức đã biết:

                        R= 

C21.Nhập số tự nhiên  n  và  2  dãy số thực  X1 , X2 ,..., Xn  và  Y1 , Y2 ,..., Yn , hãy tính toán giá trị  biểu thức bên phải và bên trái, sau đó so sánh để chứng tỏ là bất đẳng sau  thức đúng:

X1*Y1 + X2*Y2 +.... Xn* Yn£  (X12 + X22 +...+ Xn2 )1/2 (Y12 + Y22 +...+ Yn2 )1/2  

Bạn hãy cho hiện trên màn hình câu trả lời: "Bất đẳng thức đúng", hay  "Bất đẳng thức sai" tuỳ vào kết quả so sánh. (Đây là bất đẳng thức Cauchy - Bunyakovski - Schwarz)

C22.Nhập số tự nhiên  n  và   dãy số thực dương X1 , X2 ,..., Xn   sau đó tính toán giá trị  biểu thức bên phải và bên trái và so sánh để chứng tỏ là bất đẳng sau  thức đúng:

          £

         (Trung bình nhân các số dương không lớn hơn trung bình cộng của chúng)

         Bạn hãy cho hiện trên màn hình câu trả lời: "Bất đẳng thức đúng", hay  "Bất đẳng thức sai" tuỳ vào kết quả so sánh.

C23.Biết rằng lãi suất gửi tiết kiệm kỳ hạn 1 năm là 0,9%. Hãy nhập vào số tiền gửi của một người và tính số tiền của người đó sau N năm (N nhập từ bàn phím), biết rằng sau một năm thì tiền lãi sẽ được nhập vào gốc. 

C24. Lập chương trình tính cước cho một cuộc gọi điện thoại nội tỉnh. Biết :

Thời gian bắt đầu, thời gian kết thúc cuộc gọi tính theo giờ, phút và được nhập từ màn phím. Cước dịch vụ điện thoại: 500đ / phút.         

LOẠI BÀI MỨC  D

D01.Viết hàm double  emu(float x, float c) trả về giá trị  ex  được tính bởi công thức:

ex = 1+  +  + ... +

         tổng được tính với n  đủ lớn sao cho bất đẳng thức  || £ c   thỏa mãn.

         Nhập một số thực  a  rồi sử dụng hàm trên để tính   ax theo công thức ax = exlna (bài này yêu cầu viết hàm ngoài hàm main())

D02.Lập bảng     theo công thức truy hồi sau:

                                     =  = 1

                                     =  +  

         Tam giác trên có dòng thứ  n  (bắt đầu từ n=0) chứa  n+1 phần tử (k0,1,...,n) là các hệ số của nhị thức  (a+b)n  và được gọi là tam giác Pascal.

D03.Cho  2  chuỗi  s1 và  s2. Hãy tìm xem chuỗi s1 có chứa chuỗi s2 không và chỉ rõ vị trí bắt đầu và vị trí kết thúc của chuỗi s2 trong chuỗi s1 nếu tìm thấy.

D04.Cho một chuỗi. Hãy tìm một từ và xóa từ này trong chuỗi đó nếu tìm thấy.

D05.Nhập số liệu cho dãy số thực  a0 , a1 ,..., an-1 . Tìm 2 số lớn nhất  khác nhau và vị trí của chúng trong dãy  trên (nếu có hai số cùng giá trị thì lấy chỉ số nhỏ hơn). Thí dụ trong dãy  1,5,3,4,5  thì 2 phần tử lớn nhất là  5 và 4 và ở các vị trí 1 và 3.

D06.Lập chương trình tính tiền điện cho khách hàng giá điện tính theo KW như sau:

W =w1+w2+w3+w4

Điện tiệu thụ (KW)

Giá (đồng)

w1

0-100

500 / KW

w2

101-150

550/ KW

w3

151 – 200

600 / KW

w4

> 200

650/ KW

D07. Xây dựng chương trình quản lý sinh viên bằng mảng tĩnh, sử dụng cấu trúc sau:

         struct  SV {char ten[25]; float  toan, ly, tb;};     

         Nhập danh sách cho n sinh viên  (n là số tự nhiên được nhập vào), chỉ nhập ten và toan, ly.

         Tính giá trị trường  tb =(toan+ly)/2, sau đó sắp xếp lại danh sách theo điểm trung bình tăng dần. Cho hiện kết quả trước và sau khi sắp xếp.

D08.Nhập các hệ số ai (i=0,1,2,...,m) của đa thức  P(x)  bậc  m  (ai là hệ số của  xi )  và nhập các hệ số bj (j=0,1,2,...,n) của đa thức  Q(x)  bậc  n  (bj là hệ số của  xj ). In ra các hệ số của đa thức tổng.

D09.Nhập ma trận chữ nhật các số thực có cấp  mxn. Tìm phần tử lớn nhất của mỗi hàng. In mỗi phần tử tìm được trên một dòng (thông tin in ra càng đầy đủ càng tốt).

D10.Nhập ma trận chữ nhật các số thực có cấp  mxn.Tìm hàng của ma trận sao cho tổng các phần tử tính theo hàng đó là lớn nhất so với các hàng còn lại.

D11.Nhập ma trận chữ nhật các số thực có cấp  mxn.Tìm cột của ma trận sao cho tổng các phần tử tính theo cột đó là lớn nhất so với các cột còn lại.

D12. Tìm định thức của ma trận vuông cấp n.

D13.    Nhập số liệu cho ma trận A  có kiểu   mxn. Sau đó tìm ma trận chuyển vị   B có kiểu  nxm thỏa mãn  bij = aji. Tính ma trận tích  C  có kiểu  mxm  của 2  ma trận  A và B.

D14.    Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số tự nhiên. Hãy liệt kê tất cả các phần tử của ma trận là các số nguyên tố; liệt kê trên từng dòng của màn hình tương ứng với từng hàng của ma trận.

D15.    Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số tự nhiên. Hãy liệt kê tất cả các phần tử của ma trận mà không phải là số nguyên tố; liệt kê trên từng dòng của màn hình tương ứng với từng hàng của ma trận.

D16.    Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực và một số thực x. Hãy đếm xem số thực  x  xuất hiện bao nhiêu lần trong ma trận và tại các vị trí nào. Thí dụ kết quả có thể có dạng:  Số lần xuất hiện  của  2.15 là  3 tại các vị trí  (2,4), (3,1), (3,5).

D17.Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Giả sử cả 2 dãy này đã được sắp theo thứ tự tăng dần. Hãy tận dụng tính sắp xếp của 2 dãy và tạo dãy c0 , c1 ,..., cm+n-1  là hợp của 2 dãy trên, sao cho dãy  ci  cũng có thứ tự tăng dần . (Gợi ý: So sánh và loại dần từng cặp phần tử của  2 dãy).

D18.    Nhập số liệu cho ma trận A  kiểu  mxn  có các phần tử  là các số thực. Lần lượt xét các phần tử của dòng thứ nhất, tiếp đến dòng thứ 2 và cứ như thế cho đến phần tử cuối cùng. Nghĩa là ta xét các phần tử a11, a12 ,..., a1n, a21, a22,..., am1, am2,..., amn. Tìm xem trong cách duyệt các phần tử như trên có 2 phần tử liên tiếp nào bằng nhau không. Nếu có hãy chỉ rõ vị trí của cặp phần tử đầu tiên thoả mãn tính chất này. (Gợi ý: chuyển sang mảng một chiều với chỉ số  k=i*m+j, sau đó từ chỉ số k xác định các chỉ số i,j).

D19. Xây dựng các thao tác sau cho hai số phức:

         1. Tạo lập 2 số phức.

         2. Tổng, hiệu, thương 2 số phức.

D20.Nhập số liệu cho dãy số thực  a0 , a1 ,..., an-1 và số thực  x. Kiểm tra xem dãy  a  được sắp xếp tăng dần chưa, nếu dãy đã sắp xếp thì thực hiện tìm kiếm nhị phân xem  x  có xuất hiện trong dãy không và nếu có thì chỉ ra vị trí đầu tiên xuất hiện x.

LOẠI BÀI MỨC  E 

E01. Khi ta soạn thảo văn bản, đôi khi thay vì một dấu cách ta lại gõ liền mấy dấu cách, hoặc gõ thêm dấu cách thừa ở hai đầu chuỗi. Giả sử chuỗi ST  có chứa một số dấu cách thừa như vậy. Hãy viết chương trình để loại bỏ những dấu cách thừa ở trong và hai đầu văn bản. Nghĩa là sau khi chạy chương trình thì không còn trường hợp  2 hoặc nhiều dấu cách liền nhau bên trong chuỗi và ở hai đầu chuỗi không còn dấu cách nữa, ví dụ chuỗi “    Trần Hưng    Đạo  “  sẽ được chuyển thành “Trần Hưng Đạo“.

E02. Viết chương trình chuyển một chuỗi thành dạng proper, nghĩa là ký tự sau dấu cách là ký tự in hoa. Thí dụ "Nguyễn Văn Tùng" là chuỗi dạng proper.

E03. Nhập một chuỗi. Hãy xác định vị trí của từ có độ dài lớn nhất trong chuỗi.

E04. Tìm hạng của ma trận chữ nhật các số thực cấp mxn.

E05. Tìm ma trận nghịch đảo của ma trận vuông cấp n bằng phương pháp khử Gauss-Jordan.

E06.  Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Hãy tạo dãy c0 , c1 ,..., ck-1   là phần chung của 2 dãy trên, nghĩa là các phần tử  ci  có mặt trong cả 2 dãy  a   và  b. (Gợi ý: Cố định một dãy, xét từng phần tử của dãy kia).

E07.  Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Hãy tạo dãy c0 , c1 ,..., ck-1 sao cho các phần tử  ci  có mặt trong  dãy  a  nhưng không xuất hiện trong dãy b. (Gợi ý: Cố định một dãy, xét từng phần tử của dãy kia).

E08.  Nhập số liệu cho  dãy số thực  a0 , a1 ,..., an-1 . Hãy liệt kê các phần tử  xuất hiện trong dãy đúng một lần.

E09.  Nhập số liệu cho  dãy số thực  a0 , a1 ,..., an-1. Hãy liệt kê các phần tử  xuất hiện trong dãy đúng 2 lần.

E10.  Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Hãy xác định 2 phần tử  ai  và  bj  sao cho  |ai - bj|  là cực tiểu trong tất cả các  giá trị  |ah-bk|   h =1,2,..,m, k  = 1,2,... n  và chỉ rõ vị trí của chúng trong các dãy.

E11.  Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Hãy xác định 2 phần tử  ai  và  bj  sao cho  |ai + bj|  là cực tiểu trong tất cả các  giá trị  |ah+bk|   h =1,2,..,m, k  = 1,2,... n  và chỉ rõ vị trí của chúng trong các dãy.

E12. Xây dựng chương trình quản lý sinh viên lưu trên tệp nhị phân, sử dụng cấu trúc sau:

         struct  SV {char ten[25]; float  toan, ly, tb;};     

         Nhập danh sách cho n sinh viên  (n là số tự nhiên được nhập vào), chỉ nhập ten và toan, ly.

         Tính giá trị trường  tb =(toan+ly)/2, sau đó sắp xếp lại danh sách theo điểm trung bình tăng dần. Cho hiện kết quả trước và sau khi sắp xếp.

E13. Xây dựng chương trình quản lý sinh viên bằng mảng động, sử dụng cấu trúc sau:

         struct  SV {char ten[25]; float  toan, ly, tb;};     

         Nhập danh sách cho n sinh viên  (n là số tự nhiên được nhập vào), chỉ nhập ten và toan, ly.

         Tính giá trị trường  tb =(toan+ly)/2, sau đó sắp xếp lại danh sách theo tên và điểm trung bình tăng dần (trong những người cùng tên thì người có điểm trung bình thấp hơn sẽ đứng trước). Cho hiện kết quả trước và sau khi sắp xếp.

E14. Xây dựng chương trình quản lý sinh viên bằng mảng động, sử dụng cấu trúc sau:

         struct  SV {char ten[25]; float  toan, ly, tb; char XepLoai[20]};            

         Nhập danh sách cho n sinh viên  (n là số tự nhiên được nhập vào), chỉ nhập ten và toan, ly.

         Tính giá trị trường  tb =(toan+ly)/2, sau đó tính giá trị trường xếp loại theo cách sau:

         XepLoai=”kem” nếu  tb<5, = “Trung binh” nếu  5£tb<7, = “Kha” nếu  7£tb<8 và = “Gioi” nếu  8£tb.

sắp xếp lại danh sách theo trường XepLoai.

E15.  Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1 . Hãy liệt kê các phần tử lớn hơn tất cả các phần tử đứng trước nó.

E16.  Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1 . Hãy liệt kê các phần tử lớn hơn tất cả các phần tử đứng sau nó.

E17.  Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1 . In ra màn hình tần suất (số lần xuất hiện) của các phần tử.

E18.  Nhập số n và dãy các số thực  a0 , a1 ,..., an-1. Không đổi chỗ các phần tử và không dùng thêm mảng số thực nào khác (có thể dùng mảng số nguyên nếu cần) hãy cho hiện trên màn hình dãy trên theo thứ tự tăng dần.

E19.  Nhập một hàm  f(x) và 2  số thực a,b rồi tính tích phân xác định của hàm này trên khoảng [a,b] bằng phương pháp hình thang.

E20.  Nhập một số  tự nhiên  n  rồi ma trận vuông cấp n các số thực, vec tơ  n chiều  b  rồi giải hệ phương trình đại số tuyến tính  Ax=b  bằng phương pháp khử Gauss hoặc Gauss-Jordan.

E21.Tạo  tệp tep1.dat và nhập  m số nguyên, tệp  tep2.dat  và  nhập  n số nguyên. Hãy viết chương trình  tạo  tep3.dat  chứa các số nguyên trong  2 tệp  tep1.dat  và   tep2.dat

E22.Viết chương trình tạo một tệp văn bản tep1.txt và nhập một số dòng văn bản sau đó đếm số lần xuất  hiện  của mỗi ký tự  từ  A  đến Z   chứa trong tệp văn bản  này.

         Đầu chương trình có câu hỏi là " Có phân biệt chữ hoa và chữ thường không?", các lệnh sau đó sẽ tuỳ thuộc vào câu trả lời có hoặc không.

E23.Trong khi mở file mới để ghi, nếu trên đĩa có sẵn file cùng tên thì file trên đĩa sẽ bị xóa. Hãy viết chương trình tạo tệp tep1.dat chứa các số nguyên và kiểm tra sao cho nếu tồn tại file cùng tên thì đặt câu hỏi có muốn ghi đè lên không.

E24.Xây dựng chương trình quản lý học sinh. Mỗi học sinh quản lý các thông tin sau:

         Họ tên, Năm sinh, Điểm trung bình.

         Với các chức những sau:

         - Nhập số liệu, mỗi lần có thể nhập  m học sinh, m>0

         - Xem danh sách: trên màn hình hoặc in ra máy in.

         - Tìm kiếm :theo tên, theo năm sinh, theo tên và năm sinh.

         - Sắp xếp: theo tên, theo điểm trung bình.

         - Xóa khi biết tên

         a. Cài đặt bằng mảng động

         b. Cài đặt bằng danh sách liên kết thuận

         c. Cài đặt bằng danh sách liên kết 2 chiều

         d. Cài đặt trên tệp nhị phân

E25. Đếm số ký tự trong một tệp văn bản.

E26. Đếm tần số xuất hiện của các ký tự  trong một tệp văn bản.

E27. Đếm  số câu (kết thúc bằng dấu chấm)  trong một tệp văn bản.

E28. Đếm  số dòng  trong một tệp văn bản.

E29. Dùng hàm main có đối  viết chương trình nối 2 tệp văn bản.

E30. Dùng hàm main có đối viết chương trình đổi tên một tệp bất kỳ. Trong chương trình có xét tình huống tên tệp mới đã tồn tại, và cho khả năng lựa chọ ghi đè hoặc không ghi đè.

E31. Viết chương trình hiện nội dung một tệp văn bản lên màn hình. Khi tệp có nhiều hơn 24 dòng thì dừng lại chờ nhấn phím mới hiện tiếp. Viết dưới dạng trực tiếp hoặc dùng hàm main() có đối.

E32. Cho một file văn bản chỉ chứa các ký tự  'a', 'b', 'c',.. 'A', 'B', 'C'... Hãy chuyển đổi tất cả các chữ thường thành chữ hoa. Nghĩa là sau khi chạy chương trình chuyển đổi file này chỉ chứa các chữ  in hoa.

E33. Đếm tần số xuất hiện của các từ  trong một tệp văn bản.

 -----------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

BÀI TẬP NGÔN NGỮ LẬP TRÌNH C

Bài 1. Viết chương trình tìm ước số chung lớn nhất, bội số chung nhỏ nhất của hai số tự nhiên a và b.

Bài 2. Viết chương trình chuyển đổi một số tự nhiên ở hệ cơ số 10 thành số ở hệ cơ số b bất kì (1< b≤ 36).

Bài 3. Hãy viết chương trình tính tổng các chữ số của một số nguyên bất kỳ. Ví dụ: Số  8545604 có tổng các chữ số là: 8+5+4+5+6+0+4= 32.

Bài 4. Viết chương trình phân tích một số nguyên thành các thừa số nguyên tố

       Ví dụ: Số 28 được phân tích thành 2 x 2 x 7

Bài 5. Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n cho trước.

Bài 6. Viết chương trình liệt kê n số nguyên tố đầu tiên.

Bài 6. Dãy số Fibonacci được định nghĩa như sau: F0 =1, F1 = 1; Fn = Fn-1 + Fn-2 với n>=2. Hãy viết chương trình tìm số Fibonacci thứ n.

Bài 7. Một số được gọi là số thuận nghịch độc nếu ta đọc từ trái sang phải hay từ phải sang trái số đó ta vẫn nhận được một số giống nhau. Hãy liệt kê tất cả các số thuận nghịch độc có sáu chữ số (Ví dụ số: 558855).

Bài 8. Viết chương trình liệt kê tất cả các xâu nhị phân độ dài n.

Bài 9. Viết chương trình liệt kê tất cả các tập con k phần tử của 1, 2, ..,n (k≤n).

Bài 10. Viết chương trình liệt kê tất cả các hoán vị của 1, 2, .., n.

Bài 11. Tính giá trị của đa thức  P(x)=anxn+ an-1xn-1+ ... + a1x+ a0 theo cách tính của Horner: P(x)=((((anx+ an-1)x+ an-2... + a1)x+ a0

Bài 12. Nhập các hệ số ai (i=0,1,2,...,m) của đa thức  P(x)  bậc  m  (ai là hệ số của  xi )  và nhập các hệ số bj (j=0,1,2,...,n) của đa thức  Q(x)  bậc  n  (bj là hệ số của  xj ). In ra các hệ số của đa thức tổng.

Bài 13. Nhập số liệu cho 2 dãy số thực  a0 , a1 ,..., am-1   và  b0 , b1 ,..., bn-1. Giả sử cả 2 dãy này đã được sắp theo thứ tự tăng dần. Hãy tận dụng tính sắp xếp của 2 dãy và tạo dãy c0 , c1 ,..., cm+n-1  là hợp của 2 dãy trên, sao cho dãy  ci  cũng có thứ tự tăng dần .

Bài 14. Nhập số liệu cho  dãy số thực  a0 , a1 ,..., an-1 . Hãy liệt kê các phần tử  xuất hiện trong dãy đúng một lần.

Bài 15. Nhập số liệu cho  dãy số thực  a0 , a1 ,..., an-1. Hãy liệt kê các phần tử  xuất hiện trong dãy đúng 2 lần.

Bài 16. Nhập số liệu  cho dãy số thực  a0 , a1 ,..., an-1 . In ra màn hình số lần xuất hiện của các phần tử.

Bài 17. Nhập số n và dãy các số thực  a0 , a1 ,..., an-1. Không đổi chỗ các phần tử và không dùng thêm mảng số thực nào khác (có thể dùng mảng số nguyên nếu cần) hãy cho hiện trên màn hình dãy trên theo thứ tự tăng dần.

Bài 18. Nhập một xâu ký tự. Đếm số từ của xâu ký tự đó. Thí dụ "   Trường    học  " có 2 từ.

Bài 19. Viết chương trình liệt kê tất cả các số nguyên tố có 5 chữ số sao cho tổng của các chữ số trong mỗi số nguyên tố đều bằng S cho trước.

Bài 20. Nhập một số tự nhiên n. Hãy liệt kê n số Fibonaci đầu tiên.

Bài 21. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

a)    Tính tổng các chữ số của n.

b)    Phân tích n thành các thừa số nguyên tố.

Bài 22. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

a)    Tính tổng các chữ số của n.

b)    Biểu diễn n trong cơ số 16.

Bài 23. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

a)    Liệt kê các ước số của n. Có bao nhiêu ước số.

b)    Liệt kê các ước số là nguyên tố của n.

Bài 24. Viết chương trình nhập một số nguyên dương n và thực hiện các chức năng sau:

a)    Liệt kê n số nguyên tố đầu tiên.

b)    Liệt kê n số Fibonaci đầu tiên.

Bài 25. Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

a)    Tìm phần tử lớn nhất của ma trận cùng chỉ số của số đó.

b)    Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0).

c)    Sắp xếp tất cả các cột của ma trận theo thứ tự tăng dần và in kết quả ra màn hình.

Bài 26. Viết chương trình liệt kê các số nguyên có từ 5 đến 7 chữ số thoả mãn:

a)    Là số nguyên tố.

b)    Là số thuận nghịch.

c)    Biểu diễn trong cơ số 2 cũng là một số thuận nghịch

Bài 27. Viết chương trình liệt kê các số nguyên có 7 chữ số thoả mãn:

a)    Là số nguyên tố.

b)    Là số thuận nghịch (1221, 2002, …)

c)    Tổng các chữ số của số đó là một số nguyên tố

Bài 1. Viết chương trình liệt kê các số nguyên có 7 chữ số thoả mãn:

a)    Là số nguyên tố.

b)    Là số thuận nghịch.

c)    Có đúng 3 chữ số 1

Bài 2. Viết chương trình liệt kê các số nguyên có 10 chữ số thoả mãn:

a)    Là số thuận nghịch.

b)    Có chữ số 6 và chữ số 8

c)    Tổng chữ số chia hết cho 10

Bài 29. Viết chương trình nhập vào vào mảng A có n phần tử, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

a)    Tìm phần tử lớn nhất và lớn thứ 2 trong mảng cùng chỉ số của các số đó.

b)    Sắp xếp mảng theo thứ tự giảm dần .

c)    Nhập một số nguyên x và chèn x vào mảng A sao cho vẫn đảm bảo tính sắp xếp giảm dần.

Bài 30. Viết chương trình nhập vào vào ma trận A có n dòng, m cột, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

a)    Tìm phần tử lớn nhất của ma trận cùng chỉ số của số đó.

b)    Tìm và in ra các phần tử là số nguyên tố của ma trận (các phần tử không nguyên tố thì thay bằng số 0).

c)    Tìm hàng trong ma trận có nhiều số nguyên tố nhất.

Bài 31. Viết chương trình nhập các hệ số của đa thức P bậc n (0<n<20). Thực hiện các chức năng sau:

a)    Tính giá trị của đa thức P theo công thức Horner:

               P(x)=((((anx+ an-1)x+ an-2... + a1)x+ a0

b)    Tính đạo hàm của đa thức P. In ra các hệ số của đa thức kết quả.

c)    Nhập thêm đa thức Q bậc m. Tính tổng hai đa thức P và Q.

Bài 32. Viết chương trình nhập vào vào mảng A có n phần tử, các phần tử là những số nguyên lớn hơn 0 và nhỏ hơn 100 được nhập vào từ bàn phím. Thực hiện các chức năng sau:

a)    Tìm phần tử lớn nhất và lớn thứ 2 trong mảng cùng chỉ số của các số đó.

b)    Sắp xếp mảng theo thứ tự giảm dần .

c)    Nhập một số nguyên x và chèn x vào mảng A sao cho vẫn đảm bảo tính sắp xếp giảm dần.

Bài 33. Viết chương trình thực hiện chuẩn hoá một xâu ký tự nhập từ bàn phím (loại bỏ các dấu cách thừa, chuyển ký tự đầu mỗi từ thành chữ hoa, các ký tự khác thành chữ thường)

Bài 34. Viết chương trình thực hiện nhập một xâu ký tự và tìm từ dài nhất trong xâu đó. Từ đó xuất hiện ở vị trí nào? (Chú ý. nếu có nhiều từ có độ dài giống nhau thì chọn từ đầu tiên tìm thấy).

Bài 35.Viết chương trình thực hiện nhập một xâu họ tên theo cấu trúc: họ...đệm...tên; chuyển xâu đó sang biểu diễn theo cấu trúc tên…họ…đệm.

Bài 36. Viết chương trình liệt kê tất cả các phần tử của tập 

Bài 37. Viết chương trình liệt kê tất cả các phần tử của tập 

Bài 38. Viết chương trình liệt kê tất cả các phần tử của tập 

Bài 39. Cho hai tập hợp A gồm n phần tử, B gồm m phần tử (n,m≤255), mỗi phần tử của nó là một xâu kí tự.Ví dụ A = {“Lan”, “Hằng”, “Minh”, “Thủy”}, B = {“Nghĩa”, “Trung”, “Minh”, “Thủy”, “Đức”}. Hãy viết chương trình thực hiện những thao tác sau:

a.    Tạo lập dữ liệu cho A và B (từ file hoặc từ bàn phím)

b.    Tìm C = AB = { t : tA hoặc tB}.

c.    Tìm C = AB = {t : tA và t B}.

d.    Tìm C = A\B  = {t : tA và t B}.

Bài 40. Cho số tự nhiên n. Hãy viết chương trình thực hiện những công việc sau:

a.    Phân tích n thành thừa số nguyên tố.

b.    Đổi số tự nhiên n thành số ở hệ cơ số b bất kì 1 <b≤36.

c.    Liệt kê tất cả các số nguyên tố có tổng các phần tử là S cho trước.

d.    Liệt kê tất cả các cặp số p, 4p + 1 là nguyên tố nhỏ hơn n.

e.    Liệt kê tất cả các cặp số p, 2p+1 là nguyên tố nhỏ hơn n.

f.    Liệt kê tất cả các số Fibonacci là nguyên tố nhỏ hơn n.

g.    Liệt kê tất cả các số hoàn thiện nhỏ hơn n.

h.    Liệt kê tất cả các các cặp số hữu nghị (a, b) nhỏ hơn n.

Bài 41. Cho số tự nhiên n. Hãy viết chương trình thực hiện những thao tác sau:

a.    Liệt kê tất cả các xâu nhị phân độ dài n (sinh kế tiếp).

b.    Liệt kê tất cả các xâu nhị phân thuận nghịch độc độ dài n(sinh kế tiếp).

c.    Liệt kê tất cả các tập con k phần tử (k≤n) của 1, 2, 3,.., n(sinh kế tiếp).

d.    Liệt kê tất cả các hoán vị của 1, 2, 3, .., n. (sinh kế tiếp)

e.    Liệt kê tất cả các cách chia số n thành tổng các số tự nhiên nhỏ hơn n. (sinh kế tiếp)

f.    Liệt kê tất cả các xâu nhị phân độ dài n (quay lui).

g.    Liệt kê tất cả các xâu nhị phân thuận nghịch độc độ dài n(quay lui).

h.    Liệt kê tất cả các tập con k phần tử (k≤n) của 1, 2, 3,.., n(quay lui).

i.    Liệt kê tất cả các hoán vị của 1, 2, 3, .., n. (quay lui)

j.    Liệt kê tất cả các cách chia số n thành tổng các số tự nhiên nhỏ hơn n. (quay lui)

k.    Liệt kê tất cả các cách đặt n quân hậu trên bàn cờ kích cỡ n×n sao cho chúng không ăn được lẫn nhau.

Bài 42. Cho hai đa thức Pn(x) và Qm(x). Hãy viết chương trình thực hiện những thao tác sau:

a.    Tạo lập hai đa thức (nhập hệ số cho đa thức từ bàn phím hoặc file)

b.    Tính Pn(x0) và Qm(x0)

c.    Tìm đạo hàm cấp l ≤n của đa thức.

d.    Tìm Pn(x) + Qm(x)

e.    Tìm Pn(x) - Qm(x)

f.    Tìm Pn(x) / Qm(x) và đa thức dư

Bài 43. Cho hai ma trận vuông A cấp n. Hãy viết chương trình thực hiện các thao tác sau:

a.    Tìm hàng, cột hoặc đường chéo có tổng các phần tử lớn nhất.

b.    Tìm ma trận chuyển vị của A

c.    Tìm định thức của A

d.    Tìm ma trận nghịch đảo của A

e.    Giải hệ Phương trình tuyến tính thuần nhất n ẩn AX = B bằng phương pháp Gauss

Bài 44. Cho một buffer kí tự gồm n dòng. Hãy viết chương trình thực hiện các thao tác sau:

a.    Tạo lập n dòng văn bản cho buffer.

b.    Đếm số từ trong Buffer.

c.    Tìm tần xuất xuất hiện từ X bất kì trong buffer.

d.    Mã hóa buffer bằng kĩ thuật Parity Bits

e.    Giải mã buffer được mã hóa bằng kĩ thuật parity.

f.    Thay thế từ X bằng từ Y.

Bài 45. Hãy viết chương trình thực hiện những thao tác dưới đây:

a.    Liệt kê các phần tử của tập  ; trong đó a1, a2,.., an , b là các số nguyên dương, xi{0, 1} j =1, 2, ..,n.

b.    Liệt kê các phần tử của tập  ; trong đó a1, a2,.., an , b là các số nguyên dương, xi{0, 1} j =1, 2, ..,n.

c.    Tính giá trị nhỏ nhất của hàm mục tiêu  trong đó 

d.    Tính giá trị nhỏ nhất của hàm mục tiêu ; trong đó   là tập các hoán vị của 1, 2, .., n. C[i,j] Z+ (i, j =1, 2,..,n).

Bài 46. Ma trận nhị phân là ma trận mà các phần tử của nó hoặc bằng 0 hoặc bằng 1. Cho  A = [aij], B = [bij] là các ma trận nhị phân cấp m × n (i =1, 2,..,m. j= 1, 2, ..,n). Ta định nghĩa các phép hợp, giao, nhân logic và phép lũy thừa cho A và B như sau:

•    Hợp của A và B, được  kí hiệu là AB là ma trận nhị phân cấp m×n với phần tử ở vị trí (i, j) là aij bij.

•    Giao của A và B, được kí hiệu là AB là ma trận nhị phân cấp m×n với phần tử ở vị trí (i,j) là aijbij.

•    Tích boolean của A và B, được kí hiệu là AB là ma trận nhị phân cấp m×n với phần tử ở vị trí (i,j) là cij = (ai1b1j)  (ai2b2j)..( (aikbkj).

•    Nếu A là một ma trận vuông nhị phân cấp n và r là một số nguyên dương. Lũy thừa Boolean bậc r của A được kí hiệu là  (r lần).

Hãy viết chương trình thực hiện các thao tác sau:

a.    Cho A = [aij], B = [bij]. Tìm C = AB.

b.    Cho A = [aij], B = [bij]. Tìm C = AB.

c.    Cho A = [aik], B = [bkj]. Tìm C = AB.

d.    Cho A = [aij] tìm Ar.

---------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------

-------------

------------------------------------------------------------------------------------------------------

Bài t?p thao tác v?i m?ng s? th?c :

1. Nh?p t? bàn phím 1 m?ng s? th?c

2. Vi?t hàm ki?m tra xem m?ng d?y có r?ng hay không ( r?ng d? dài m?ng b?ng 0 )

3. Vi?t hàm ki?m tra m?ng d?y dã d?y hay chua ( Max là 20 ph?n t? )

4. Thêm 1 ph?n t? vào m?ng ? v? trí cu?i cùng v?i di?u ki?n m?ng chua d?y

5. Xóa 1 ph?n t? ? v? trí cu?i cùng v?i di?u ki?n m?ng d?y không r?ng

6. Thêm 1 ph?n t? vào v? trí th? k v?i 0<k<n và di?u ki?n m?ng d?y chua d?y

7. Xóa 1 ph?n t? ? v? trí th? k v?i 0<k<n và di?u ki?n m?ng d?y không r?ng

8. d?i ch? ph?n t? th? j và th? k trong m?ng. Ví d? :

1 3 2 5 -> 1 5 2 3 : d?i ch? 3 và 5

9. d?o ngu?c các ph?n t? trong m?ng. Ví d? :

1 3 2 5 -> 5 2 3 1

10. ki?m tra 1 dãy s? có ph?i là dãy tang d?n hay không. Ví d? :

1 2 3 5 : là dãy tang d?n

1 3 2 5 : không là dãy tang d?n

11. tìm d? dài và in ra dãy tang có nhi?u ph?n t? nh?t. Ví d? :

1 3 2 5 6 7 4 2 9 0 4 5 6 3

In ra : 2 5 6 7 và d? dài là 4

12. Cho 2 dãy s? th?c a và b. Tìm giao c?a 2 dãy s?

13. Cho 2 dãy s? th?c a và b. Tìm h?p c?a 2 dãy s?

14. Cho 2 dãy s? th?c a và b. Tìm hi?u a – b. T?c là tìm ph?n t? c?a a mà không có trong b.

15. Cho 2 dãy s? th?c a và b có d? dài là m và n ( m>n ). Ki?m tra dãy b có ph?i là dãy con c?a dãy a hay không. Ví d? :

A : 1 3 2 5 6 4 8 9

B : 2 5 6 4 -> B là dãy con c?a dãy A.

n?u B : 2 4 6 5 -> B không là dãy con c?a dãy A

-----------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------

Viết chương trình chuyển 1 số nguyên dương N sang hệ cơ số bất kỳ.

Viết chương trình tìm ước chung lớn nhất của 2 số nguyên N, M

Viết chương trình kiểm tra 1 số có phải số Amstrong hay không

Viết chương trình kiểm tra xem 2 số M, N có phải là cặp số hữu nghị hay không

Viết chương trình kiểm tra xem số nguyên N có phải là số nguyên tố hay không.

Viết chương trình kiểm tra 1 số có phải là số thuận nghịch hay không

Viết chương trình sắp xếp 1 mảng tăng (giảm dần).

Viết chương trình kiểm tra xem 1 dãy số có phải là cấp số cộng hay không.

Viết chương trình tìm số lớn nhất của dãy số (mảng 1 chiều) và số lớn nhất của mảng 2 chiều.

Viết chương trình in ra các số theo thứ tự hình trôn ốc từ ngoài vào trong, từ trái sang phải.

Các số như Amstrong, cặp số hữu nghị, số thuận  nghịch các bạn có thể tham khảo trên Google.

Các bạn cũng tìm hiểu hàm trong C/C++ .

Chúc may mắn. J

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: