Professional Documents
Culture Documents
( LẬP TRÌNH C )
4. Tính diện tích mặt cầu, thể tích hình cầu bán kính R
5. Tính chu kỳ dao động của con lắc chiều dài l
6. Tìm các góc của tam giác khi biết 3 cạnh (dùng hệ thức Cosin)
7. Nhập x, dùng các hàm chuẩn để tính y = (x5 - sina + e3 )/( bx+2 +1)
Trong đó: a = 2x –1; b=log5(x3 + 4x) + ln(5x)
1
“Gioi” nếu ĐTB≥8
“Kha” nếu 7≤ĐTB<8
XL =
“Tbinh” nếu 5≤ĐTB<7
“ Yeu” nếu ĐTB<5
a. -1/2x3 (x>0)
y=
3 x ( x 0)
b. -1/2x3 (x>0)
y= x3 (-5<x<=0)
ex (x<=-5)
2
1*3*5* …*n (nếu n lẻ)
S8 = n!! =
2*4*6*…*n (nếu n chẳn)
Với n là số nguyên dương nhập vào
17. In ra màn hình các số từ 1 dến 100 trên 10 dòng như sau:
1 2 3 … 10
11 12 13 … 20
……
91 92 93 … 100
18. In ra các số chẳn nhỏ hơn hoặc bằng 100 trên 10 dòng như sau:
2 4 6 … 10
12 14 16 … 20
……
92 94 96 … 100
19. Tìm các phương án để có được 20.000 đồng từ các loại 1000, 2000 và
5000 đồng
20. Viết chương trình xuất ra các hình sau:
a. * * * * * * *
******* Hình chữ nhật m dòng * n cột
*******
*******
b. *
* * Tam giác vuông cân cạnh n
* * *
* * * *
c. * * * *
* * *
Tam giác vuông cân cạnh n
* *
*
d. * * * * * * *
* * Hình chữ nhật m dòng * n cột (rỗng)
* *
*******
3
23. Nhập vào một số nguyên dương, tính tổng các số của nó, đếm số chữ số
(ví dụ: 1234 -> tổng = 1+2+3+4 = 10, số chữ số = 4)
24. Tìm ước số chung lớn nhất, bội số chung nhỏ nhất của 2 số nguyên
dương
25. Cho số thực a>0, tìm số tự nhiên n nhỏ nhất sao cho:
S = 1 + 2 + … +n > a
26. Tính giá trị các hàm sau (không dùng hàm chuẩn)
S1 = ex 1 + x + x2/2! + … + xk/k! + …
S2 = sinx x – x3/3! + x5/5! – x7/7! + …
S3 = cosx 1 – x2/2! + x4/4! – x6/6! + …
27. Viết lệnh nhập vào giá trị cho biến x cho đến khi x>0 (cho phép nhập
tối đa 5 lần)
IV. Hàm
28. Định nghĩa các hàm sau: (dùng vòng lặp hoặc đệ quy)
a. Tính S3, S4, S5, S6 trong bài tập 16
b. Tính S1, S2, S3 trong bài tập 26
c. Tìm ước số chung lớn nhất của 2 số nguyên dương
d. Tìm số Fibonanci thứ n
e. Đếm số bit 1 của số nguyên dương n
29. Định nghĩa các hàm sau: (dùng tham số là con trỏ)
a. Tính S3, S4, S5, S6 trong bài tập 16
b. Hoán đổi giá trị của 2 biến a, b
c. Tim nghiệm phương trình bậc 2
30. Định nghĩa các hàm kiểm tra: (trả về 1 nếu đúng, ngược lại trả về 0)
a. Số nguyên tố (chỉ chia hết cho 1 và chính nó)
b. Số hoàn hảo (bằng tổng các ước số tự nhiên của nó ko kể chính nó,
ví dụ 6=1+2+3)
c. Số hạnh phúc (có số chữ số là chẵn và tổng các chữ số nửa đầu
bằng tổng các chữ số nửa cuối, ví dụ 2516)
d. Số đối xứng ( ví dụ 62126)
e. Số Amstrong (có k chữ số, tổng luỹ thừa bậc k của các chữ số bằng
chính số đó, ví dụ 153 = 13+53+33 )
f. Số Mersen (là số nguyên tố được biểu diễn dưới dạng 2 k-1 trong đó
k là số bit 1 liên tiếp khi đổi số đó sang số nhị phân và k cũng là số
nguyên tố, ví dụ 7=23-1=111, 31=25-1=11111)
31. Dùng các hàm đã định nghĩa trong bài tập 28, viết lệnh:
a. Tính m! + n!
b. Tính 1! + 2! + … + n!
4
c. Xuất ra dãy n số Fibonanci đầu tiên
32. Cho biết kết quả chương trình sau, giải thích
#include "stdio.h"
#include "conio.h"
int a,b;
void ham1()
{ int a;
a=2; b=4;
printf("\n %5d%5d\n",a,b);
}
void ham2()
{ int b;
a=1; b=2;
printf("\n %5d%5d\n",a,b);
}
int main()
{ a=5; b=10;
printf("\n %5d%5d\n",a,b);
ham1(); printf("\n %5d%5d\n",a,b);
ham2(); printf("\n %5d%5d\n",a,b);
getch();
}
33. Cho biết kết quả chương trình sau, giải thích
#include "stdio.h"
#include "conio.h"
int a,b;
void ham1()
{ int a, b;
a=2; b=4;
printf("\n %5d%5d\n",a,b);
}
void ham2()
{ a=1; b=2;
printf("\n %5d%5d\n",a,b);
}
void main()
{ a=5; b=10;
printf("\n %5d%5d\n",a,b);
5
ham1(); printf("\n %5d%5d\n",a,b);
ham2(); printf("\n %5d%5d\n",a,b);
getch();
}
V. Mảng 1 chiều
34. Nhập vào 1 dãy gồm n số nguyên (n≤10)
a. Tìm phần tử lớn nhất / nhỏ nhất
b. Tìm phần tử lớn nhất đầu tiên / cuối cùng (trả về giá trị và vị trí)
c. Tính tổng các phần tử lẻ/chẳn
d. Tính tổng của phần tử đầu, giữa và cuối
e. Đếm số phần tử không chia hết cho 5
f. Xuất dãy theo thứ tự giảm dần
g. Đảo dãy (giá trị của các phần tử bị đảo ngược)
h. Chuyển các phần tử lẻ sang trái, chẳn sang phải
35. Nhập vào 1 dãy gồm n số thực (n≤10)
a. Có bao nhiêu phần tử thuộc [x, y]
b. Tìm xem có phần tử x trong dãy không?
c. Xoá phần tử x đầu tiên trong dãy
d. Sắp dãy tăng dần, chèn phần tử z để có dãy tăng dần
36. Nhập vào 1 dãy gồm n số thực (5≤n≤10)
a. Xóa các phần tử nhỏ hơn x
b. Tính tổng các phần tử đứng trước phần tử lớn nhất cuối cùng
c. Tính tổng các phần tử đứng trước phần tử lẻ cuối cùng
d. Tính tổng các phần tử đứng sau phần tử nhỏ nhất đầu tiên
e. Tính r bằng phần tử nào có phần nguyên là số lẻ lớn nhất
37. Tạo dãy a gồm n phần tử nguyên lấy từ số nguyên p, mà a[i] là chữ số
thập phân thứ i của p, n là số chữ số của p. Ví dụ p=2308 thì mảng a có
a[0]=8, a[1]=0, a[2]= 3, a[3]=2 và n=4
38. Tương tự bài 37 nhưng a[i] là chữ số thập lục phân thứ i của p. Ví dụ
p=0X2CE thì mảng a có a[0]=14, a[1]=12, a[2]= 2 và n=3
39. Tương tự bài 37 nhưng a[i] là chữ số bát phân thứ i của p
40. Cho dãy a gồm m phần tử được sắp giảm dần và dãy b gồm n phần tử.
Hãy chèn các phần tử của dãy b vào dãy a để nhận được dãy a gồm m+n
phần tử cũng giảm dần
41. Nhập vào 2 dãy a, b gồm n số thực (n<=10)
a. Tính tổng phần tử lớn nhất của dãy a và của dãy b
b. Đếm số phần tử có giá trị lớn nhất/nhỏ nhất trong dãy b
c. Tạo dãy c gồm 2n phần tử được lấy từ 2 dãy a, b như sau:
- Phần tử thứ nhất của dãy c là phần tử thứ nhất của dãy a
6
- Phần tử thứ hai của dãy c là phần tử thứ nhất của dãy b
- Phần tử thứ ba của dãy c là phần tử thứ hai của dãy a
- Phần tử thứ tư của dãy c là phần tử thứ hai của dãy b
- ………
---oﬡﬡﬡo---