Một số bài tập lập trình C căn bản
lượt xem 278
download
Bài toán số 2.1: Viết chương tŕnh chuyển đổi số tự nhiên N cho trước sang hệ cơ số 2 bằng việc xây dựng hàm chuyển đổi. Hướng dẫn: - Xây dựng hàm Dec2Bin( ) chuyển đổi từ số tự nhiên sang số nhị phân. o Sử dụng biến S để lưu giá trị số nhị phân của N. Khởi gán bằng 0. o Tiến hành lặp chuyển đổi cơ số: Lặp trong khi mà N 0 SoDu = số dư của N chia cho 2. N = N chia cho 2. Bổ sung chữ số SoDu vào số S thành một chữ số o Trả về...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Một số bài tập lập trình C căn bản
- Một số bài tập lập trnh C căn bản ́ Created by NgoHung Vấn đề 2: Chương trnh con ́ Bài toán số 2.1: Viết chương trnh chuyển đổi số tự nhiên N cho trước sang hệ cơ số 2 ́ bằng việc xây dựng hàm chuyển đổi. Hướng dẫn: - Xây dựng hàm Dec2Bin( ) chuyển đổi từ số tự nhiên sang số nhị phân. o Sử dụng biến S để lưu giá trị số nhị phân của N. Khởi gán bằng 0. o Tiến hành lặp chuyển đổi cơ số: Lặp trong khi mà N > 0 SoDu = số dư của N chia cho 2. N = N chia cho 2. Bổ sung chữ số SoDu vào số S thành một chữ số o Trả về kết quả cuối cùng của S. - Viết hàm void main ( ) với nội dung dùng để kiểm tra kết quả thực hiện của hàm. o Khai báo biến N, M o Thông báo nhập, nhập giá trị cho biến N o Gán giá trị M bằng kết quả trả về của hàm Dec2Bin( N ) o In thông báo về kết quả số nhị phân chuyển đổi được (giá trị của M) o Gọi hàm getch( ) trước khi kết thúc hàm main ( ). Chương trnh:́ /* thu tuc chuyen so tu nhien n cho truoc sang ket qua tra ve he co so 2 */ int Dec2Bin ( int n ) { int S = 0 , So = n ; while ( So > 0) { int Du = So % 2 ; So = So / 2 ; S = S * 10 + Du; } return S ; } /* chuong trinh chinh dap ung yeu cau bai toan */ void main( ) { int N; printf( “Nhap so N =” ); scanf( “%d”, &N ); printf( “Dang nhi phan cua N la %d”, Dec2Bin(N) );
- getch( ); }
- Bài toán số 2.2: Viết các hàm USCLN(a, b) và BSCNN(a, b). Hướng dẫn: Khai báo hàm USCLN có: Tên hàm: USCLN Kiểu dữ liệu trả về: long Tham số: 2 tham trị là int a, int b Giá trị trả về: chính là giá trị ước số chung lớn nhất của a và b. Xử lư tm USCLN, BSCNN: Dựa trên ví dụ đă có ở phần trước. ́ Nội dung hàm: long USCLN( int a, int b) { for (int k = a; k >= 1; k--) // Lap voi moi i co gia tri tu a den 1 if (a%k == 0 && b%k == 0) // Kiem tra a, b co’ dong thoi chia het cho k khong break; // break de thoat, luu giu lai gia tri cua k. return k; } Tương tự để viết hàm long BSCNN( int a, int b ) long BSCNN( int a, int b) { for (int k = a; k
- Bài toán số 2.3: Viết hàm kiểm tra số N có phải là số nguyên tố hat không? Hướng dẫn: Khai báo hàm kiểm tra số nguyên tố có: Tên hàm: KiemtraSNT Dữ liệu trả về: int, ( 0 nếu không phải là số nguyên tố, là 1 nếu là số nguyên tố ) Tham số: tham trị là int N, số cần kiểm tra. Xử lư kiểm tra: Dựa trên ví dụ đă có ở phần trước. Nội dung hàm: int KiemtraSNT( int N ) { int ktrSNT = 1; // Khoi gan gia tri dung cho ktrSNT for ( int i = 2; i
- int KtraTamGiac( long a, long b, long c) { if (a+b > c && a+c > b && b+c > a) return 1; else return 0; } - Tính diện tích có thể thực hiện thông qua chu vi của nó với . float DienTichTamGiac( long a, long b, long c) { float p = (a+b+c)/2.0; return sqrt(p*(p-a)*(p-b)*(p-c)); } - Xây dựng hàm main với mục đích, sử dụng các hàm trên để tính diện tích tam giác nhập vào nếu thông số nhập thỏa măn. void main() { long a, b, c; NhapTamGiac( a, b, c ); if ( KtraTamGiac( a, b, c) ) printf( “Dien tich tam giac: %f \n”, DienTichTamGiac( a, b, c )); else printf( “Khong lap thanh duoc tam giac.\n”); getch( ); } Bài toán số 2.5: Viết chương trnh hoàn chỉnh thực hiện phân tích ra N ra thành các ́ thừa số nguyên tố. Ví dụ: N = 1260 = 2 . 2 . 3 . 3 . 5 . 7 Hướng dẫn: - Viết hàm nhập số N. Lưu ư, hàm nhập cần truyền tham số N theo dạng tham biến để lưu lại giá trị đă nhập vào. - Viết hàm phân tích số N ra các thừa số nguyên tố và in các thừa số đó ra màn hnh với ư tưởng thuật toán: ́ o Chia N cho số nguyên tố u (nhỏ nhất là 2). o Trong khi N cn chia hết cho u th́ tiến hành phân tích N với u là thừa số. ̣ Giảm N đi u lần. o Nếu N không chia hết cho u, thi tăng u lên 1. o Quá trnh lặp lại với ́ u từng bước tăng lên 1 nếu N không chia hết cho u. N từng bước giảm xuống u lần nếu N chia hết cho u. o Quá trnh lặp lại đến một mức u tăng lên và N giảm xuống để N = u, ́ khi đó giá trị mới của N sẽ là 1.
- Chương trnh: ́ void NhapSoN( long &NN ) { NN = 0; //Gan khoi dau bang 0 de vao vong lap, vong lap dung khi nhap khac 0 while ( N == 0 ) { printf( “Nhap N=” ); scanf( “%d”, &NN ); } } /*================================*/ void PhantichSoN ( long N1 ) { if ( N1 > 1 ) { int u = 2, dem = 0; while ( N1 > 1 ) if ( N1 % u = 0 ) { dem++; printf( “%d ”, u); N1 = N1 / u; } else u++; } else printf( “Khong the phan tich duoc” ); } /*==============================*/ void main( ) /* Ham xu ly chinh cua chuong trinh */ { clrscr( ); printf( “Phan tich so N thanh tich cua cac so nguyen to :\n” ); NhapSoN( N ); PhantichSoN( N ); printf ( “Nhan Enter de ket thuc ...” ); getch( ); }
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập và hướng dẫn giải bài tập lập trình PLC S7-300
89 p | 4581 | 2292
-
Một số bài tập lập trình Pascal
5 p | 2027 | 513
-
Bài tập C++ tổng hợp
30 p | 897 | 399
-
Bài giảng Bài tập Lập trình C++ - Hoàng Thân Anh Tuấn
15 p | 471 | 79
-
BÀI TẬP LẬP TRÌNH HƯỚNG SỰ KIỆN - CHƯƠNG 1
37 p | 364 | 70
-
Bài giảng Lập trình Windows - Phạm Ngọc Hưng (ĐH Bách Khoa)
312 p | 225 | 53
-
Một số các mẫu bài tập lập trình hợp ngữ
18 p | 271 | 43
-
BÀI TẬP LẬP TRÌNH HƯỚNG SỰ KIỆN - CHƯƠNG 4
32 p | 166 | 35
-
BÀI TẬP LẬP TRÌNH HƯỚNG SỰ KIỆN - CHƯƠNG 3
14 p | 138 | 33
-
Bài tập Chương trình lớp chuyên đề ngành Lập trình
45 p | 146 | 26
-
MỘT SỐ BÀI TẬP THỰC HÀNH MÔN KỸ THUẬT LẬP TRÌNH
8 p | 168 | 22
-
Bài tập lập trình công nghệ Java modum 1
64 p | 111 | 10
-
Bài giảng Lập trình C++: Chương 2 (Bài 04) - Trần Phước Tuấn
11 p | 64 | 7
-
Bài giảng Phương pháp lập trình hướng đối tượng: Ôn tập giữa kỳ
10 p | 111 | 5
-
Bài giảng Lập trình cơ sở: Bài 1 - ThS. Võ Hà Quang Định
59 p | 86 | 4
-
Bài giảng Phương pháp lập trình hướng đối tượng: Bài tập đối tượng 1 - Trần Phước Tuấn
5 p | 69 | 4
-
Bài tập trắc nghiệm và tự luận môn Tin học đại cương: Phần 2
67 p | 18 | 4
-
Bài giảng Phương pháp lập trình hướng đối tượng: Bài tập 4 - Trần Phước Tuấn
4 p | 73 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn