Xuất ra màn hình các phần tử là số chính phương nằm tại những vị trí lẻ trong mảng

Ôn tập kĩ thuật lập trình C

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây [1.3 MB, 63 trang ]

Lập trình C căn bản

#VietAnh-D15PTIT

PHẦN 1
LƯU ĐỒ THUẬT TOÁN [FLOWCHART]
………………….
II.1. Bài tập cơ bản
1. Nhập vào hai số x, y. Xuất ra màn hình tổng, hiệu, tích, thương của hai số trên.
2. Nhập vào số nguyên n, kiểm tra xem n chẵn hay lẻ và xuất ra màn hình.
3. Nhập vào ba cạnh a, b, c của tam giác. Xuất ra màn hình tam giác đó thuộc loại tam
giác gì? [Thường, cân, vuông, đều hay vuông cân].
4. Nhập vào số nguyên n. Nếu n>5 thì tăng n lên 2 đơn vị và trả về giá trị n, ngược lại
trả về giá trị 0.
5. Nhập vào số nguyên n. Tính n! với 0 ≥ n
6. Cho số nguyên n. Tính trị tuyệt đối của n
7. Tính P = 1 . 3 . 5 . . . [2n+1] , với 0 ≥ n
8. Tính P = 1+ 3 + 5 + … + [2n+1] , với 0 ≥ n

16. Đếm số lượng ước số chẵn của số nguyên dương n.
17. In ra chữ số đầu tiên của số nguyên dương n gồm k chữ số.
18. Cho 2 số nguyên dương a, b. Tìm USCLN của a và b.
19. Cho 2 số nguyên dương a, b. Tìm BSCNN của a và b.
20. Cho số nguyên dương x. Kiểm tra xem x có phải là số nguyên tố không?
21. Cho số nguyên dương x. Kiểm tra x có phải là số chính phương không?
22. Cho số nguyên dương x. Kiểm tra xem x có phải là số hoàn thiện không?

Trang 1


Lập trình C căn bản



#VietAnh-D15PTIT

II.2. Bài tập luyện tập và nâng cao
23. Tính các tổng S sau :

24. Giải và biện luận phương trình bậc 2: ax2 + bx +c =0
25. Tính các tổng sau : [dạng bài tập khó]

Trang 2


Lập trình C căn bản

#VietAnh-D15PTIT

PHẦN 2
CẤU TRÚC ĐIỀU KHIỂN
I. TÓM TẮT LÝ THUYẾT
I.1. Các kiểu dữ liệu cơ bản trong C

I.2. Cấu trúc rẽ nhánh
a. Cấu trúc if
if [biểu thức điều kiện]
{
;
}
b. Cấu trúc if … else
if [biểu thức điều kiện]
{


;
}
else
{
;
Trang 3


Lập trình C căn bản

#VietAnh-D15PTIT

}
Ví dụ: Giải và biện luận phương trình: ax+b=0
#include
#include
void main []
{
float a, b;
printf [ “\n Nhap vao a:”];
scanf [ “%f”, &a];
printf [ “ Nhap vao b:”];
scanf [ “%f”, &b] ;
if [a= = 0]
if [b= = 0]
printf [ “ \n PTVSN”];
else
printf [ “ \n PTVN”];
else
printf [ “ \n Nghiem x=%f”, -b/a];


getch [];
}
I.3. Cấu trúc lựa chọn switch
switch [biểu thức]
{
case n1:
các câu lệnh ;
break ;
case n2:
các câu lệnh ;
break ;
………
case nk:
;
break ;
[default: các câu lệnh]
}
Trong đó :
• ni là các hằng số nguyên hoặc ký tự.
• Phụ thuộc vào giá trị của biểu thức viết sau switch, nếu:
o Giá trị này = ni thì thực hiện câu lệnh sau case ni.
o Khi giá trị biểu thức không thỏa tất cả các ni thì thực hiện câu lệnh sau default
nếu có, hoặc thoát khỏi câu lệnh switch.
o Khi chương trình đã thực hiện xong câu lệnh của case ni nào đó thì nó sẽ thực
hiện luôn các lệnh thuộc case bên dưới nó mà không xét lại điều kiện [do các ni
Trang 4


Lập trình C căn bản


#VietAnh-D15PTIT

được xem như các nhãn] .Vì vậy, để chương trình thoát khỏi lệnh switch sau
khi thực hiện xong một trường hợp, ta dùng lệnh break.
Ví dụ 1 : Viết chương trình chọn menu bằng số nhập từ bàn phím.
#include
#include
void ChonTD [int &chon]
{
printf ["Thuc Don"] ;
printf ["\n1. Lau thai!"] ;
printf ["\n2. Nuoc ngot!"] ;
printf ["\n3. Ca loc hap bau!"] ;
printf ["\n4. Chuot dong!"] ;
printf ["\n Xin moi ban chon mon an!"] ;
scanf ["%d",&chon] ;
}
void TDchon[int chon]
{
switch [chon]
{
case 1:
printf ["\nBan chon lau thai!"] ;
break ;
case 2:
printf ["\nBan chon nuoc ngot!"] ;
break ;
case 3:
printf ["\nBan chon ca loc hap bau!"] ;
break ;


case 4:
printf ["\Ban chon chuot dong!"] ;
break ;
default:
printf ["\nBan chon khong dung!"] ;
}
}
void main[]
{
clrscr[] ;
int chon ;
ChonTD[chon] ;
TDchon[chon] ;
getch[] ;
}
Trang 5


Lập trình C căn bản

#VietAnh-D15PTIT

Ví dụ 2 : Viết chương trình nhập vào tháng , xuất ra màn hình số ngày của tháng vừa nhập
[Giả sử tháng 2 có 28 ngày] .
#include
#include
void so_ngay [int thang]
{
switch [thang]
{


case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
printf ["\n Tháng %d có 31 ngày ", thang] ;
break ;
}
case 4:
case 6:
case 9:
case 11:
{
printf ["\n Tháng %d có 30 ngày", thang] ;
break ;
}
case 2:
{
printf ["\n Tháng 2 có 28 ngày"] ;
break ;
}
default:
printf ["\n Ban nhập tháng không đúng!"] ;
}
}
void main[]
{


clrscr[] ;
int thang ;
printf[“ Hãy nhập tháng : ”];
scanf[“%d”, &thang];
so_ngay[thang] ;
getch[] ;
}
I.4. Cấu trúc lặp
Trang 6


Lập trình C căn bản

#VietAnh-D15PTIT

a. Cấu trúc lặp for :
for [; ; ]
{
;
}
Ví dụ: In ra màn hình bảng mã ASCII từ ký tự số 33 đến 255.
#include
#include
void main[]
{
for [int i=33;i
while [ ]
{
lệnh/ khối lệnh;
}
Ví dụ: Tính giá trị trung bình các chữ số của số nguyên n gồm k chữ số.
#include
#include
void main[]
{
int n, tong=0, sochuso=0;
float tb;
printf ["Nhap vao gia tri n gom k chu so"] ;
scanf ["%d",&n] ;
while[n>0]
{
tong=tong+n%10 ;
sochuso++ ;
n=n/10 ;
}
tb=[float]1.0*tong/sochuso ;
printf ["Gia tri trung binh la: %f", tb] ;
getch [] ;
}
c. Cấu trúc lặp do … while
do
Trang 7


Lập trình C căn bản



#VietAnh-D15PTIT

{
< khối lệnh> ;
} while [biểu thức điều kiện] ;
Ví dụ : Nhập ký tự từ bàn phím hiển thị lên màn hình mã ASCII của ký tự đó, thực hiện đến
khi nhấn phím ESC [Mã ASCII của phím ESC là 27].
#include
#include
void main[]
{
int ma ;
do {
ma=getch [];
if [ma !=27]
printf ["Ma ASCII %c:%d\t", ma, ma];
}while [ma!=27] ;
getch [] ;
}
II. BÀI TẬP
II.1. Phương pháp chạy tay từng bước để tìm kết quả chương trình
􀂙 Xác định chương trình có sử dụng những biến nào.
􀂙 Giá trị ban đầu của mỗi biến.
􀂙 Những biến nào sẽ bị thay đổi trong quá trình chạy chương trình thì lập thành bảng
có dạng sau:

Ví dụ: Cho biết kết quả của đoạn chương trình sau:
void main[]
{


int i, a = 4;
for[i = 0 ; i

Giáo trình Bài Tập Kỹ Thuật Lập Trình Trang45

II.2. Bài tập cơ bản a. Nhập xuất mảng một chiều

Phương pháp cơ bản Viết chương trình nhập xuất mảng một chiều các số nguyên.include conio.h include stdio.hdefine MAX 100 void NhapMang int a[], int n{printf “Nhap so phan tu: “; scanf “ d ”, n;for int i = 0; i n; i ++ {printf “ a [d] = “, i; scanf “ d “, a[i];} }void XuatMang int a[], int n {printf “\\nNoi dung mang: “; for int i = 0; i n; i ++printf “ d \\t “, a[i]; }void main {clrscr ; int a[MAX] , n;NhapMang a,n;XuatMang a,n;getch ; }Bài tập1. Viết chương trình nhập xuất mảng một chiều các số thực. 2. Viết chương trình khởi tạo giá trị các phần tử là 0 cho mảng một chiều cácsố nguyên gồm n phần tử. 3. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số nguyênâm. 4. Viết chương trình phát sinh ngẫu nhiên mảng một chiều các số nguyên saocho mảng có thứ tự tăng dần Khơng sắp xếp.Giáo trình Bài Tập Kỹ Thuật Lập Trình Trang465. Viết chương trình nhập mảng các số thực và xuất các phần tử âm trong mảng.6. Viết chương trình nhập mảng các số nguyên và xuất các phần tử lẻ có trong mảng.7. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra các phần tử chẵn nhỏ hơn 20.8. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra màn hình các phần tử là số nguyên tố.9. Viết chương trình nhập vào số nguyên n và liệt kê các số nguyên tố nhỏ hơn n, nếu mảng không tồn tại số nguyên tố nào nhỏ hơn n thì phải xuất ramột câu thơng báo. 10. Viết chương trình nhập vào mảng một chiều các số nguyên và xuất ra mànhình các phần tử là số chính phương nằm tại những vị trí lẻ trong mảng.Viết hàm tìm phần tử có giá trị x xuất hiện đầu tiên trong mảng một chiều.Nếu tìm thấy trả về vị trí xuất hiện x, ngược lại trả về -1 int TimX int a[], int n, int x{for int i = 0; i n ; i ++ if x==a[i]return i;return -1;} Bài tập11. Viết hàm tìm vị trí phần tử có giá trị x xuất hiện cuối cùng trong mảng. 12. Viết hàm tìm vị trí của phần tử nhỏ nhất trong mảng các số nguyên.13. Viết hàm tìm vị trí của phần tử lớn nhất trong mảng các số nguyên. 14. Viết hàm in vị trí các phần tử nguyên tố trong mảng các số nguyên.15. Viết hàm in vị trí các phần tử nguyên tố lớn hơn 23. 16. Viết hàm tìm vị trí phần tử âm đầu tiên trong mảng. Nếu khơng có phần tửâm trả về –1. 17. Viết hàm tìm vị trí phần tử âm lớn nhất trong mảng.Giáo trình Bài Tập Kỹ Thuật Lập Trình Trang4718. Viết hàm tìm vị trí phần tử dương đầu tiên trong mảng. Nếu khơng có phần tử âm trả về –1.19. Viết hàm tìm vị trí phần tử dương bé nhất trong mảng. 20. Viết hàm in các phần tử là bội của 3 và 5.21. Viết hàm tìm số chẵn cuối cùng có trong mảng, nếu không tồn tại số chẵn hàm trả về -1 .22. Viết hàm tìm số lẻ lớn nhất có trong mảng, nếu không tồn tại số lẻ hàm trả về -1.23. Viết hàm tìm và đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất trong mảng.24. Nhập vào X. Viết hàm in ra màn hình những phần tử có giá trị từ 1 đến X có trong mảng.25. Viết chương trình nhập vào một dãy số a gồm n số thực100 ≤n, nhập vào dãy số b gồm m số thực100 ≤m. • In ra những phần tử chỉ xuất hiện trong dãy a mà khơng xuất hiện trongdãy b. • In ra những phần tử xuất hiện ở cả hai dãy.

Video liên quan

Chủ Đề