Module A – Mở đầu

Chia sẻ: Dragon Tl | Ngày: | Loại File: DOC | Số trang:20

0
58
lượt xem
13
download

Module A – Mở đầu

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tất cả các chương trình C đều có một hàm main(), theo sau là dấu bắt đầu “{“ và kết thúc bởi “}”. Thực hiện chương trình C bắt đầu từ hàm main(). Một hay nhiều lệnh được chứa trong cặp dấu ngoặc nhọn (“{“ and “}”)

Chủ đề:
Lưu

Nội dung Text: Module A – Mở đầu

  1. 1. Module A – Mở đầu 2 1.1. Ví dụ Hello World....................................................................................................2 1.1.1. Ví dụ 1..............................................................................................................2 1.1.2. Ví dụ 2...............................................................................................................2 1.1.3. Ví dụ 3...............................................................................................................3 1.2 Sử dụng Borland C++ 5.02 ......................................................................................3 1.2.1. Chạy chương trình bằng C++ 5.02..................................................................3 1.2.2 Các lỗi.................................................................................................................4 1.2.3. Tìm trợ giúp theo ngữ cảnh..............................................................................5 1.3. Bài tập thực hành ..................................................................................................5 2. Module B – Tính toán 5 2.1. Các ví dụ tính toán....................................................................................................5 2.1.1. Ví dụ 1 – Gán (=) và hàm in ra (printf).............................................................5 2.1.2. Ví dụ 2 – Hàm Nhập vào (scanf)......................................................................6 2.1.3. Ví dụ 3 – Các biểu thức số học (+, - *, /, %)...................................................6 2.1.4. Ví dụ 4 – Các biểu thức quan hệ (= =, >, >=,
  2. 1. Module A – Mở đầu 1.1. Ví dụ Hello World 1.1.1. Ví dụ 1 Chú thích được chứa trong cặp /* và */ /* Chương trình này in một thông điệp */ Để chèn tệp “stdio.h” chứa hàm thư viện #include “printf” được chương trình này sử dụng main() { printf(“Hello, world”); } In thông điệp “Hello, world” trên màn hình. Tất cả các chương trình C đều có một hàm main(), theo sau là dấu bắt đầu “{“ và kết thúc bởi “}”. Thực hiện chương trình C bắt đầu từ hàm main(). Một hay nhiều lệnh được chứa trong cặp dấu ngoặc nhọn (“{“ and “}”) Hàm “printf” được sử dụng để hiện ra màn hình. Tuy nhiên, với chương trình trên, bạn không nhìn thấy dòng nào trên màn hình, bởi vì chương trình kết thúc ngay sau khi thông điệp được in ra. 1.1.2. Ví dụ 2 /* Chương trình in thông điêp */ #include #include main() { printf(“Hello, world”); getch(); } Hiện 2
  3. Hello, world Rồi chờ nhận một ký tự từ bàn phím. Hàm “getch()” được đưa vào để chờ người sử dụng ấn một ký tự từ bàn phím. 1.1.3. Ví dụ 3 /* Chương trình in một thông điệp */ #include #include main() { printf(“Hello,\nworld”); getch(); } Hiện Hello, world Một ký tự đặc biệt \n được gọi là ký tự xuống dòng, tạo nên bắt đầu một dòng mới. 1.2 Sử dụng Borland C++ 5.02 1.2.1. Chạy chương trình bằng C++ 5.02 1) Mở Borland C++ 5.02 3
  4. 2) Chọn File/New/Text Edit 3) Gõ chương trình như đã mô tả ở trên 4) Chọn Debug/Run để chạy chương trình 1.2.2 Các lỗi Có ba kiểu lỗi: cú pháp, logic, và lỗi khi chạy : 1. Các lỗi cú pháp: Các lỗi này xẩy ra vì các lệnh bị gõ sai, không đúng quy định về cú pháp của ngôn ngữ. Ví dụ, nếu bạn không đặt dấu chấm phẩy (;) sau lệnh như sau printf(“Hello,world”) // lỗi cú pháp (thiếu dấu chấm phẩy) printf("Hello,world"); // Lệnh đúng về cú pháp. 2. Các lỗi logic: Các lỗi này xẩy ra khi các lệnh sai về logic trong chương trình. Ví dụ, giả thiết rằng trong một chương trình 1000 dòng, đáng nhẽ cần một lệnh nhân hai số bị viết nhầm thành cộng hai số. Lệnh sai về logic này tạo ra kết quả sai. Phát hiện các lỗi như vậy là rất khó. 3. Các lỗi khi chạy: Các lỗi này xấy ra khi chạy chương trình không có lỗi cú pháp và lỗi logic. Một số các nguyên nhân của các lỗi này là a. Khi truyền giá trị của biến “age”, mà không phải địa chỉ của biến cho hàm “scanf”, ví dụ scanf( "%d" , age); b. Khi bạn ra lệnh cho máy tính chia một số cho 0. c. Khi bạn ra lệnh cho máy tính tìm logrit của một số âm. d. Khi bạn ra lệnh cho máy tính tìm căn bậc hai của một số nguyên âm. Nếu không chạy chương trình, bạn không có cơ hội để tìm thấy lỗi này. 4
  5. 1.2.3. Tìm trợ giúp theo ngữ cảnh Ấn phím F1 trong khi soạn thảo tệp chương trình, trợ giúp cho cụm từ nằm dưới con trỏ sẽ xuất hiện. 1.3. Bài tập thực hành Viết chương trình C để in các thông tin về bạn trên màn hình (tên đầy đủ, địa chỉ nhà riêng, số điện thoại, Địa chỉ Email) như sau My information ================================================== Fulle name : Nguyen Duc Minh Home address : No 5, Lane 6, Phan Dinh Phung street Tel. number : 09 1456 1456 Email address : minhnd@yahoo.com 2. Module B – Tính toán 2.1. Các ví dụ tính toán 2.1.1. Ví dụ 1 – Gán (=) và hàm in ra (printf) /* In ra Hai biến */ main() { int c = 65; printf(“ASCII code %d is character %c”, c, c); int age = 18; double cashFare = 2.25; printf("\nHis age is %d\nThe cash fare is $%lf\n", age, cashFare); } Hiện ASCII code 65 is character A His age is 18 The cash fare is $2.250000 Số chữ số sau dấu chấm thập phân được hiện bởi %lf là 6. Nếu bạn muốn chỉ 2 chữ số sau dấu chấm thập phân được hiện, sử dụng %.2lf 5
  6. Sau đây là danh sách các định dạng kiểu dữ liệu. %f=float, %lf = double, %c=char, %d = decimal, %x = hexadecimal, %o = octal... 2.1.2. Ví dụ 2 – Hàm Nhập vào (scanf) /* Nhập và và In ra Hai Biến */ main() { int age; double cashFare; /* Nhập vào */ printf("Enter the boy\'s age : "); /* Nhắc nhập age */ scanf("%d", &age); /* Nhập vào age */ printf("Enter the cash fare :"); /* Nhắc nhập cash fare */ scanf("%lf", &cashFare); /* Nhập vào cash fare */ /* In ra */ printf("His age is %d\nThe cash fare is $%lf\n", age, cashFare); } Nhận dữ liệu vào age và cashFare và lưu dữ liệu vào trong vị trí bộ nhớ tương ứng. 2.1.3. Ví dụ 3 – Các biểu thức số học (+, - *, /, %) /* Các Biểu thức Số học */ main() { int quantity; double cost; /* Nhập vào */ printf("Enter the number of apples desired: "); scanf("%d", &quantity); /* Nhập vào số lưựng */ printf("Enter the cost of one apple (in $):"); scanf("%lf", &cost); /* Nhập vào đơn giá */ /* In ra */ printf("\nThat will cost $%lf\n", quantity * cost); } Nếu khi chạy chương trình ta nhập 5 cho số lượng các quả táo và 0.56 cho giá một quả táo, đầu ra chương trình sẽ là: Enter the number of apples desired: 5 Enter the cost of one apple (in $): 0.56 That will cost $2.800000 Nếu bạn muốn hiện 2 chữ số sau chấm thập phân thì thay đổi dòng cuối của chương trình thành : printf("That will cost $%.2lf\n", quantity * cost); 6
  7. sẽ thay đổi dòng cuối in ra như sau: That will cost $2.80 2.1.4. Ví dụ 4 – Các biểu thức quan hệ (= =, >, >=,
  8. Xem xét điều kiện cho adultTicket. Điều kiện này là tương đương logic với adultTicket = ! ( childTicket || studentTicket || seniorTicket ); (Luật deMorgan) 2.1.6. Ví dụ 6 – Kiểu dữ liệu hỗn hợp • Nâng toán hạng bên phải đến kiểu dữ liệu của toán hạng bên trái nếu toán hạng bên trái có kiểu dữ liệu cao hơn toán hạng bên phải Ví dụ, /* Nâng cấp với các toán tử gán */ main( ) { int loonies; double money; printf("How many loonies do you have ? "); scanf("%d", &loonies); money = loonies; printf("You have $%.2lf\n", money); } Nếu khi chạy chương trình, chúng ta nhập vào 23, sẽ in ra là: How many loonies do you have ? 23 You have $23.00 • Mặt khác, chặt bớt toán hạng phải thành kiểu dữ liệu của toán hạng trái nếu dữ liệu của toán hạng trái là kiểu dữ liệu thấp hơn toán hạng phải. /* Chặt bớt với các toán tử gán */ main( ) { int loonies; double money; printf("How much money do you have ? "); scanf("%lf", &money); loonies = money; printf("You have %d loonies.\n", loonies); } Nếu khi chạy chương trình, chúng ta nhập 23.45, sẽ in ra là: How much money do you have ? 23.45 You have 23 loonies. 8
  9. 2.1.7. Ví dụ 7 – Các toán hạng gán viết tắt (+=, -=, *=, /=, %=, ++, --) /* Các phép gán viết tắt */ main( ) { int herAge, hisAge; herAge = 5; /* hisAge có gái trị 10 và herAge có giá trị 6 */ hisAge = 5 + herAge++; herAge = 5; /* hisAge có giá trị 11 và herAge có giá trị 6 */ hisAge = ++herAge + 5; herAge = 5; /* herAge = herAger + 15, có giá trị 20 */ herAge += 15; /* herAge = herAger * 2, có gái trị 40 */ herAge *= 2; } 2.1.8. Ví dụ 8 – Ép kiểu /* Ép kiểu Dấu phẩy động */ main( ) { int pies, persons; double piesPerPerson; printf("How many pies do you have ? "); scanf("%d", &pies); printf("How many persons are there ? "); scanf("%d", &persons); piesPerPerson = (double) pies / persons; printf("Each person receives %.2lf pies.\n", piesPerPerson); } Nếu khi chạy chương trình, chúng ta nhập 8 cho số bánh, và 6 cho số người, sẽ ịn ra là: How many pies do you have ? 8 How many persons are there ? 6 Each person receives 1.33 pies. Kết quả của phép chia sẽ là số double và phép gán đặt kết quả một số double (1.333333) vào piesPerPerson. Chú ý, tuy nhiên 9
  10. piesPerPerson = (double) (pies / persons); đặt 1.0 vào piesPerPerson, chứ không phải 1.333333. Ở đây, kết quả của phép chia số nguyên chứ không phải là chính pies được ép kiểu thành kiểu double. 2.2. Bài tập thực hành 2.2.1. Bài thực hành 1 Viết chương trình nhắc người dùng nhập 5 ký tự, nhận dữ liệu nhập vào, và hiện các mã ASCII tương ứng như sau Enter 5 characters separated by a space: A B C D E Its ASCCI codes: 65 66 67 68 69 2.2.2. Bài thực hành 2 Viết chương trình nhắc người dùng nhập 5 số nguyên, nhận dữ liệu nhập vào, và hiện tổng các số đó như sau. Enter 5 integer numbers separated by a space: 12 34 23 10 23 Its sum is: 102 2.2.3. Bài thực hành 3 Viết chương trình nhắc người dùng nhập 5 số nguyên, nhận dữ liệu nhập vào, và hiện số các giá trị lẻ và số các giá trị chẵn như sau. Enter 5 integer numbers separated by a space: 12 34 23 10 25 The number of even values is : 3 The number of odd values is : 2 2.2.4. Bài thực hành 4 Viết chương trình C yêu cầu người dùng nhập số lượng các mặt hàng được mua và đơn giá, rồi hiện giá thành gốc, thuế đánh trên giá thành (hai loại thuế, PST là 8%, và GST là 7%), và tổng bao gồm cả thuế như sau Enter the number of items purchases : 105 The item unit price :$ 0.25 The original amount :$ 26.2500 The PST tax (8%) :$ 2.1000 The GST tax (7%) :$ 1.8375 The Total :$ 30.1875 10
  11. 3. Module C – Logic 3.1. Ví dụ 3.1.1. Ví dụ 1 – Một lệnh if main() { int likePizza; printf(“Do you like pizza (1 for yes and 0 for no)?:”) scanf(“%d”, &likePizza); if ( likePizza == 1 ) printf ("I would like a pizza\n"); } hoặc if ( likePizza == 1 ) { printf ("I would like a pizza\n"); printf ("I would like another pizza\n"); printf ("I would like yet another pizza\n"); } Nếu giá trị của likePizza không là một, thì chương trình bỏ qua các lệnh thụt vào 3.1.2. Ví dụ 2 – if else if ( likePizza == 1 ) printf ("I would like a pizza\n"); else printf ("I would like something nutritious\n"); hoặc if ( likePizza == 1 ) { printf ("I would like a pizza\n"); printf ("I would like another pizza\n"); printf ("I would like yet another pizza\n"); } else { printf ("I would like something nutritious\n"); printf ("I would now like a pizza\n"); printf ("I would now like another pizza\n"); } Chương trình thực hiện các lệnh sau if, nếu điều kiện là true. Chương trình thực hiện các lệnh sau else, nếu điều kiện là false 3.1.3. Ví dụ 3 – if else if else 11
  12. Chương trình thực hiện các lệnh sau if, nếu điều kiện đầu tiên là true hoặc sau else if, nếu điều kiện đầu là false và điều kiện thúe hai là true. Chương trình thực hiện các lệnh sau else, nếu và chỉ nếu không có điều kiên nào là true. Ví dụ, if ( likePizza == 1 ) printf ("I would like a pizza\n"); else if ( likeHamburger == 1 ) printf("I would like a hamburger\n"); else printf ("I would like something nutritious\n"); hoặc if ( likePizza == 1 ) { printf ("I would like a pizza\n"); printf ("I would like another pizza\n"); printf ("I would like yet another pizza\n"); } else if ( likeHamburger == 1 ) { printf ("I would like a hamburger\n"); printf ("I would like another hamburger\n"); printf ("I would like yet another hamburger\n"); } else { printf ("I would like something nutritious\n"); printf ("I would now like a pizza\n"); printf ("I would now like a hamburger\n"); } Không cần kiểm tra likePizza trong điều kiện thứ hai, bởi vì nó chỉ đến nó khi điều kiện thứ nhất là không thoả mãn (likePizza != 1) 3.1.4. Ví dụ 4 – switch main() { int i; do { clrscr(); printf("MENU\n"); printf("1) Option 1\n"); printf("2) Option 2\n"); printf("3) Option 3\n"); printf("4) Exit\n"); printf("Please enter 1, 2, 3, or 4: "); scanf("%d", &i); switch(i) { case 1: printf("Option 1 selected"); getch(); break; case 2: printf("Option 2 selected"); getch(); 12
  13. break; case 3: printf("Option 3 selected"); getch(); break; case 4: break; } } while (i != 4); printf("Have a nice day!"); getch(); } Chương trình này hiện menu có 4 tuỳ chọn, rồi nhắc người dùng nhập một số (từ 1 đến 4), và hiện tuỳ chọn đã được chọn bởi người dùng. Chương trình này sẽ và chỉ kết thúc khi 4 được nhập vào. 3.1.5. Ví dụ 5 – Biểu thức điều kiện ? : main() { int a, b, max, min; printf("Enter two integer numbers separated by a space:"); scanf("%d %d", &a, &b); max = a > b? a : b; min = a < b? a : b; printf("\nMaximum of %d and %d is %d", a, b, max); printf("\nMinimum of %d and %d is %d", a, b, min); getch(); } ? : là cách thay thế cho cấu trúc if else Chương trình này nhắc người dùng nhập hai số nguyên cách nhau bởi dấu cách, nhận dữ liệu nhập vào và hiện số lớn nhất và số nhỏ nhất 3.1.6. Ví dụ – while main() { slices = 4; while ( slices >= 1 ) { slices--; printf("Gulp! Slices left %d\n", slices); } } Hiện Gulp! Slices left 3 Gulp! Slices left 2 Gulp! Slices left 1 Gulp! Slices left 0 13
  14. Cấu trúc while thực hiện tập lệnh của nó khi mà điều kiện kiểm tra thoả mãn 3.1.7. Ví dụ 7 – do while Có một kết quả nếu bạn dùng do while như sau do { slices--; printf("Gulp! Slices left %d\n", slices); } while ( slices >= 1 ); Cấu trúc do while thực hiện các tập lênh của nó ít nhất một lần và tiếp tục thực hiện chúng khi điều kiện kiểm tra thoả mãn. 3.1.8. Ví dụ 8 – for Cùng một kết quả, nếu bạn dùng for như sau for ( slices = 4; slices >= 0; --slices ) { printf("Gulp! Slices left %d\n", slices - 1); } Cấu trúc for điều khiển số các lần lặp sử dụng bộ đếm 3.2. Bài tập thực hành 3.2.1. Bài thực hành 1 Trong trò chơi quân bài, một quân bài được tính điểm theo giá trị mặt quân bài, J, Q, K là 11 điểm và A là 1 điểm. Viết chương trình nhận bậc của quân bài và hiện điểm của quân bài này. Người sử dụng nhập '0' cho quân bài số 10. 3.2.2. Bài thực hành 2 Viết chương trình hiện bảng nhân 10 x 10 như sau Bảng nhân 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 14
  15. 3.2.3. Bài thực hành 3 Viết chương trình nhắc người sử dụng nhập số nguyên dương lớn nhất, nhận dữ liệu nhập vào, rồi hiện tổng của dãy số nguyên từ 1 đến số nguyên lớn nhất đã được nhập như sau Enter a highest number : 10 The sum of numbers from 1 to 12 is : 55 Another run (y for yes and n for no)?:y Enter a highest number : 7 The sum of numbers from 1 to 7 is : 28 Another run (y for yes and n for no)?:n 3.2.4. Bài thực hành 4 Viết chương trình nhắc người dùng nhập một số nguyên dương, nhận số được nhập, rồi chuyển nó thành số ở hệ 7 và hiện nó như sau Enter a positive integer number : 120 The number in the numbering system 7 : 231 Another run (y for yes and n for no)?:y Enter a positive integer number : 100 The number in the numbering system 7 : 202 Another run (y for yes and n for no)?:n 3.2.5. Bài thực hành 5 Viết chương trình C yêu cầu người dùng, nhân viên bán hàng, nhập tiền bán hàng cho khách hàng. Chương trình phản ứng (với thông báo lỗi thích hợp) bất kỳ giá thành nào nhỏ hơn không, buộc người dùng pahỉ nhập lại giá tiền. Một khi giá tiền cho phép đã được nhập, chương trình hiện tiền khấu trừ, tổng sau khi khấu trừ, và hoa hồng cho người bán hàng, dựa trên thông tin sau: Khấu trừ - 0% trên tổng số, nếu tổng nhỏ hơn $1000. - 5% của tổng số nếu tổng nằm giữa $1000 và $20,000. - 10% của tổng số nếu tổng là lớn hơn $20,000. Hoa hồng - dựa trên tổng số trừ đi khấu trừ - 5% của $10,000 đầu tiên - 10% trên phần vượt quá $10,000 15
  16. Ví dụ, bán hàng $15,000 sẽ nhận được khấu trừ $750, được doanh thu thu về là $14,250. Hoa hồng sẽ là $925 (là 500 + 425). 3.2.6. Bài thực hành 6 Viết chương trình C yêu cầu người dùng nhập tổng số tiền, và hiện tuỳ chọn sau: 1. Tax Exempt (Miễn thuế) 2. PST only (8%) 3. GST only (7%) 4. Both PST and GST Nếu người dùng nhập bất kỳ số nào khác 1-4, một thông báo lỗi hiện ra và anh ta/chi ta buộc phải nhập lại cho đến khi một tuỳ chọn đúng được thực hiện. Chương trình hiện giá tiền gốc, thuế đánh trên tổng tiền này (nó phụ thuộc vào tuỳ chọn), và tổng số bao gồm cả thuế. 4. Module D – Các hàm 4.1. Ví dụ 4.1.1. Ví dụ 1 – Khai báo hàm, gọi hàm, định nghĩa hàm /* Tính base luỹ thừa exp * power.c Khai báo hàm - khuôn dạng hàm: Hàm */ tên là power, có 2 tham số kiểu nguyên và trả về giá trị nguyên #include int power (int base, int exp); int main () { int base, exp, answer; Gọi hàm: chuyển điều khiển thực hiện tới hàm power base = 2; exp = 4; answer = power ( base, exp ); printf("%d^%d is %d\n", base, exp, answer); return 0; } ĐN hàm – Các lệnh thực hiện /* power raises base to the power of exponent */ int power ( int base, int exponent ) { int result, i; result = 1;er for (i = 1; i
  17. return result; } CHÚ Ý: Hàm power được gọi và nhận dữ liệu tham số theo giá trị, tức là nhận bản copy của dữ liệu từ đối số trong lời gọi hàm. Bộ CT dịch cấp phát bộ nhớ cho mỗi tham số và đặt giá trị ban đầu cho mối tham số bằng giá trị của đối số tương ứng trong lời gọi hàm. Ví dụ base trong hàm power nằm ở vùng nhớ khác với base trong hàm main Truyền theo giá trị là base trong hàm power nhận giá trị ban đầu bằng giá trị của base trong hàm main, sau đó nó có thể thay đổi giá trị của mình trong hàm power nhiều lần, nhưng không làm thay đổi giá trị của đối số tương ứng base trong hàm main 4.1.2. Ví dụ 2 – Gọi hàm và nhận dữ liệu tham số theo địa chỉ /* Trao đổi các giá trị dùng hàm * swapGood.c */ #include void swap ( int *a, int *b ); int main ( ) { int inLeftHand; Địa chỉ của biến int inRightHand; printf("inLeftHand are "); scanf("%d", &inLeftHand); printf("inRightHand are "); scanf("%d", &inRightHand); swap( &inLeftHand, &inRightHand ); printf("After swap:\n" "inLeftHand are %d\n" "inRightHand are %d\n", inLeftHand, inRightHand); Dữ liệu tại địa chỉ a là một số return 0; nguyên } void swap ( int *a, int *b ) { int c; c = *a; *a = *b; *b = c; } 17
  18. 4.2. Bài tập thực hành 4.2.1. Bài tập thực hành 1 Viết hàm giải hệ phương trình bậc hai có khai báo như sau int root (double a, double b, double c, double *x1, double *x2); Trong đó x1, x2 là địa chỉ chứa nghiệm của phương trình bậc hai ax2 + bx + c = 0. Hàm này trả về giá trị 0 nếu vô nghiêm, trả về giá trị 1 nếu có một nghiệm và nghiệm này nằm trong địa chỉ x1 và trả về giá trị 2 nếu có hai nghiệm. Sau đó viết chương trình kiểm thử hàm này như sau Giải phương trình bậc hai ========================= Nhập hệ số a: 1 Nhập hệ số b: -5 Nhập hệ số c: 6 Phương trình có 2 nghiệm là: x1 = 2 x2 = 3 Ấn phím bất kỳ để tiếp tục (Ctrl + C để thoát)! 4.2.2. Bài tập thực hành 2 Viết hàm có khai báo như sau int check_prime (int number); Hàm này kiểm tra xem số number có phải là số nguyên tố hay không và trả lại giá trị 0 nếu number không phải là số nguyên tố, trả về giá trị 1 nếu number là số nguyên tố Sau đó viết chương trình sử dụng hàm này. Chương trình cho phép nhập số nguyên nhỏ nhất và số nguyên lớn nhất, rồi hiện bảng (bốn cột) các số nguyên tố nằm trong giới hạn đã nhập như sau Hiện bảng các số nguyên tố ========================== Nhập số nguyên nhỏ nhất: 3 Nhập số nguyên lớn nhất: 30 2 3 5 7 11 13 17 19 23 29 Ấn phím bấy kỳ để tiếp tục (Ctrl + C để thoát)! 4.2.3. Bài tập thực hành 3 Viết hàm có khai báo như sau 18
  19. Int gcd(int a, int b) Hàm này trả về ước số chung lớn nhất của hai số a và b Sau đó viết chưong trình kiểm thử hàm này như sau Tìm ước số chung lớn nhất ======================== Nhập số nguyên a: 4 Nhập số nguyên b: 16 Ước số chung lớn nhất của 4 và 16 là 4 Ấn phím bấy kỳ để tiếp tục (Ctrl + C để thoát)! 19
  20. 20
Đồng bộ tài khoản