Khai báo biến a kiểKhai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.u nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.Khai báo biến a kiểu nguyên.
I. Variable 1. Khai báo biến a kiểu nguyên Solution #include "stdafx.h" void main() { int a; } 2. Khai báo biến b kiểu thực Solution #include "stdafx.h" void main() { float b; } 3. Khai báo biến c kiểu kí tự Solution #include "stdafx.h" void main() { char c; } 4. Gán giá trị biến a bằng 10 Solution #include "stdafx.h" void main() { int a; a = 10; } 5. Gán giá trị biến b bằng 20 Solution #include "stdafx.h" void main() { float b; b = 20; } 6. Gán giá trị biến c bằng ‘h’ Solution #include "stdafx.h" void main() { char c; c = 'h'; } 7. In ra màn hình giá trị biến a, b, c Solution #include "stdafx.h" void main() { int a; float b; char c; a = 10; b = 20; c = 'h'; } printf("%d", a); printf("%f", b); printf("%c", c); 8. Gán giá trị biến b bằng 100 lần giá trị biến a Solution #include "stdafx.h" void main() { int a; float b; } a = 10; b = 100 * a; 9. In ra màn hình giá trị mới của biến b Solution #include "stdafx.h" void main() { int a; float b; a = 10; b = 100 * a; } printf("%f", b); II. printf 1. In ra màn hình kí tự xuống dịng Solution #include "stdafx.h" void main() { printf("\n"); } 2. In ra màn hình câu: “Giá trị biến a là:” sau đó in tiếp giá trị biến a (khơng xuống dịng) Solution #include "stdafx.h" void main() { int a = 10; printf("Gia tri bien a la: %d", a); } 3. In ra màn hình câu: “50 lần giá trị biến a là:” sau đó in tiếp 50 lần giá trị biến a (khơng xuống dịng) Solution #include "stdafx.h" void main() { int a = 10; } printf("50 lan gia tri bien a la: %d", 50 * a); 4. In ra màn hình giá trị biến b (chỉ in 2 chữ số phần thập phân) Solution #include "stdafx.h" void main() { float b = 20.5123; } printf("%.2f", b); 5. Giả sử giá trị biến b biểu diễn số tiền VND (đơn vị ngàn đồng), ví dụ biến b chứa số 20 là 20 ngàn đồng. In ra màn hình dịng chữ sau đây: “Tơi có:” sau đó giá trị biến b tiếp theo là “.000 dong”. Ví dụ b = 20, ta in ra “Tơi có: 20.000 đồng” Solution #include "stdafx.h" void main() { float b = 20; } printf("Toi co %.0f.000 dong", b); III. scanf_s 1. Nhập vào một số kiểu ngun và in số đó ra màn hình Solution #include "stdafx.h" void main() { int a; } scanf_s("%d", &a); printf("%d", a); 2. Nhập vào một số kiểu thực và in số đó ra màn hình Solution #include "stdafx.h" void main() { float a; scanf_s("%f", &a); printf("%f", a); } 3. Nhập vào một số kiểu kí tự và in số đó ra màn hình Solution #include "stdafx.h" void main() { char a; scanf_s("%c", &a); printf("%c", a); } 4. Nhập vào 3 số ngun, in ra trung bình của 3 số Ví dụ: Nhập vào 1, 2, 4. In ra: 2.33 Solution #include "stdafx.h" void main() { int a, b, c; scanf_s("%d%d%d", &a, &b, &c); printf("%f", (a + b + c) / 3.0); } 5. Tính trung bình cộng của 4 số, u cầu, chỉ được khai báo 2 biến Ví dụ: Nhập vào 1, 2, 3, 4. In ra: 2.5 Solution #include "stdafx.h" void main() { int a, sum = 0; scanf_s("%d", sum += a; scanf_s("%d", sum += a; scanf_s("%d", sum += a; scanf_s("%d", sum += a; &a); &a); &a); &a); printf("%d", sum / 4.0); } 6. Viết chương trình nhập 2 số, hốn đổi vị trí 2 số cho nhau và in ra màn hình Ví dụ: Nhập vào 1, 2. In ra: -1 Solution #include "stdafx.h" void main() { int a, b, tmp; scanf_s("%d%d", &a, &b); tmp = a; a = b; b = tmp; } printf("%d - %d", a, b); IV. Condition structure 1. Nhập vào một số ngun, kiểm tra số đó có lớn hơn 10 hay khơng? Nếu có in ra màn hình: “Số bạn đã nhập lớn hơn 10” Ví dụ: Nhập vào số 10. In ra: Nhập vào số 11. In ra: So ban da nhap lon hon 10 Solution #include "stdafx.h" void main() { int a; scanf_s("%d", &a); if (a > 10) { printf("So ban da nhap lon hon 10"); } } 2. Nhập vào một số ngun, kiểm tra số đó có chia hết cho 2 hay khơng? Nếu có, in ra màn hình “Số chẵn”, ngược lại “Số lẻ” Ví dụ: Nhập vào số 3. In ra: So le Nhập vào số 4. In ra: So chan Solution #include "stdafx.h" void main() { int a; scanf_s("%d", &a); } if (a % == 0) { printf("So chan"); } else { printf("So le"); } 3. Nhập vào 3 số ngun a1, a2, a3. In ra màn hình số lớn nhất trong 3 số này Ví dụ: Nhập vào: 3, 7, 1. In ra: Nhập vào: 3, 3, 3. In ra: Solution 4. Nhập vào 3 số nguyên a1, a2, a3. In ra màn hình số nhỏ nhất trong 3 số này Ví dụ: Nhập vào: 3, 7, 1. In ra: Nhập vào: 3, 3, 3. In ra: Solution #include "stdafx.h" void main() { int a, b, c, min; scanf_s("%d%d%d", &a, &b, &c); = a; if (b < min) = b; if (c < min) = b; } printf("So nho nhat la: %d", min); 5. Viết chương trình in ra số lớn nhất trong 4 số nhập từ bàn phím với điều kiện chỉ được dùng 2 biến Ví dụ: Nhập vào: 3, 7, 1, 8. In ra: Nhập vào: 3, 3, 3, 3. In ra: Solution #include "stdafx.h" void main() { int a, max; scanf_s("%d", &a); max = a; scanf_s("%d", &a); if (a > max) max = a; scanf_s("%d", &a); if (a > max) max = a; scanf_s("%d", &a); if (a > max) max = a; printf("So lon nhat la: %d", max); } 6. Nhập vào 3 cạnh của tam giác, kiểm tra xem đó có phải tam giác đều hay khơng? Ví dụ: Nhập vào: 2, 3, 2. In ra: Khong phai tam giac deu Nhập vào: 3, 3, 3. In ra: Tam giac deu Solution #include "stdafx.h" void main() { int a, b, c; scanf_s("%d%d%d", &a, &b, &c); if (a == b && b == c && a == b) { printf("Tam giac deu"); } else { printf("Khong phai tam giac deu"); } } 4. Nhập vào một dãy số ngun bất kì. Tính tổng và trung bình của dãy này Ví dụ: Nhập vào n = 5, dãy 5 4 8 1 2. In ra Tong cua day: 20 Trung binh cua day: 4.000000 Solution #include "stdafx.h" void main() { int n, list[100], sum = 0; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%d", &list[i]); } for (int i = 0; i < n; i++) { sum += list[i]; } } printf("Tong cua day: %d\n", sum); printf("Trung binh cua day: %f", (float) sum / n); 5. Viết chương trình nhập vào một mảng gồm n số ngun, nhập vào một số k, sau đó xóa phần tử thứ k trong mảng Ví dụ: Nhập vào n = 5, dãy 5 4 8 1 2, k = 2. Kết quả in ra màn hình: 5812 Solution #include "stdafx.h" void main() { int list[1024], n, k; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%d", &list[i]); } scanf_s("%d", &k); n = n - 1; for (int i = k - 1; i < n; i++) { list[i] = list[i + 1]; } for (int i = 0; i < n; i++) { printf("%d ", list[i]); } } 6. Viết chương trình nhập vào một mảng gồm n số ngun, nhập vào một số k và một số ngun khác, thêm số ngun này vào vị trí thứ k trong mảng Ví dụ: Nhập vào n = 5, dãy 5 4 8 1 2, k = 2, giá trị số ngun thêm vào là 7. Kết quả in ra màn hình: 547812 Solution #include "stdafx.h" void main() { int list[1024], n, k, new_number; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%d", &list[i]); } scanf_s("%d%d", &k, &new_number); for (int i = ++n; i >= k; i ) { list[i] = list[i - 1]; } list[k] = new_number; } for (int i = 0; i < n; i++) { printf("%d ", list[i]); } 7. Viết chương trình nhập vào một mảng gồm n số ngun, in ra phần tử có giá trị nhỏ nhất và vị trí của Ví dụ: Nhập vào n = 5, dãy 5 4 8 1 2. Kết quả in ra màn hình: Phan tu nho nhat la o vi tri Solution #include "stdafx.h" void main() { int list[1024], n, min, index; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%d", &list[i]); } = list[0]; index = 1; for (int i = 1; i < n; i++) { if (list[i] < min) { = list[i]; index = i + 1; } } } printf("Phan tu nho nhat la %d o vi tri %d", min, index); 8. Viết chương trình nhập vào một mảng gồm n số ngun, in ra phần tử có giá trị lớn nhất và vị trí của Nhập vào n = 5, dãy 5 4 8 1 2. Kết quả in ra màn hình: Phan tu nho nhat la o vi tri Solution #include "stdafx.h" void main() { int list[1024], n, max, index; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%d", &list[i]); } max = list[0]; index = 1; for (int i = 1; i < n; i++) { if (list[i] > max) { max = list[i]; index = i + 1; } } printf("Phan tu lon nhat la %d o vi tri %d", max, index); } 9. Viết chương trình nhận vào hai mảng và hốn đổi vị trí cho nhau Ví dụ: Nhập vào 2 mảng 1 4 5 2, và mảng 2, 9, 8. Sau khi hoán vị kết quả in ra 2 mảng theo thứ tự là: 298 1452 Solution #include "stdafx.h" void main() { int list1[100], list2[100], list3[100], list1n, list2n, tmp; scanf_s("%d%d", &list1n, &list2n); for (int i = 0; i < list1n; i++) { scanf_s("%d", &list1[i]); } for (int i = 0; i < list2n; i++) { scanf_s("%d", &list2[i]); } for (int i = 0; i < list1n; i++) { list3[i] = list1[i]; } for (int i = 0; i < list2n; i++) { list1[i] = list2[i]; } for (int i = 0; i < list1n; i++) { list2[i] = list3[i]; } tmp = list1n; list1n = list2n; list2n = tmp; for (int i = 0; printf("%d } printf("\n"); for (int i = 0; printf("%d } i < list1n; i++) { ", list1[i]); i < list2n; i++) { ", list2[i]); } 10. Viết chương trình, nhận vào số nguyên h và in ra tam giác Pascal có chiều cao là h Tam giác Pascal là tam giác trong đó phần tử ở hàng i cột j sẽ là tổng của 2 phần tử ở hàng i 1 cột j và hàng i 1 cột j 1. Riêng cột 0 sẽ ln có giá trị là 1 11 12 13 14 15 31 641 10 10 Ví dụ: Nếu ta nhập chiều cao h là 1. Chương trình sẽ in ra: Nếu ta nhập chiều cao h là 2. Chương trình sẽ in ra: 11 Nếu ta nhập chiều cao h là 4. Chương trình sẽ in ra: 11 121 1331 Solution #include "stdafx.h" void main() { int list[1024], tmp[1024], h; scanf_s("%d", &h); if (h == 1) { printf("1\n"); return; } for (int i = 0; i < 1024; i++) { list[i] = 0; } list[0] = 1; for (int i = 2; i = 0; i , j++) { string2[i] = string1[j]; } for (int i = strlen(string1) - 1; i >= 0; i ) { if (string2[i] != string1[i]) { printf("Khong phai chuoi doi xung"); return; } } } printf("Chuoi doi xung"); 14. Nhập vào một mảng các chuỗi. In ra từng dịng một của mảng này, nằm trong một khung hình chữ nhật. Ví dụ: Ví dụ: Mảng gồm: ["Hello", "World", "in", "a", "frame"] sẽ được in ra thành: ********* * Hello * * World * * in * *a * * frame * ********* Solution #include "stdafx.h" #include "string.h" void main() { int n, max; char list[100][1024]; scanf_s("%d", &n); for (int i = 0; i < n; i++) { scanf_s("%s", list[i], 1024); } max = strlen(list[0]); for (int i = 1; i < n; i++) { if (strlen(list[i]) > max) { max = strlen(list[i]); } } max = max + 4; } for (int i = 0; i < max; i++) printf("*"); for (int i = 0; i < n; i++) { printf("\n"); printf("* %s", list[i]); for (int j = max - strlen(list[i]) - 4; j >= 0; j ) { printf(" "); } printf("*"); } printf("\n"); for (int i = 0; i < max; i++) printf("*"); VII. Subprogram 1. In ra tất cả các số nguyên tố từ 1 đến 100 Kết quả: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Solution #include "stdafx.h" int is_prime(int n) { for (int i = 2; i an Nhập vào chuỗi “an” và chuỗi “an”. In ra kết quả: an = an Nhập vào chuỗi “ca” và chuỗi “ac”. In ra kết quả: ca < ac Solution #include "stdafx.h" int strcmp(char str1[], char str2[]) { int max_length = strlen(str1) > strlen(str2) ? strlen(str1) : strlen(str2); for (int i = 0; i < max_length; i++) { if (str1[i] - str2[i] == 0) continue; return str1[i] - str2[i] > ? : -1; } if (strlen(str1) == strlen(str2)) { return 0; } if (strlen(str1) < strlen(str2)) { return -1; } } return 1; void main() { char string1[100], string2[100], operator; scanf_s("%s", string1); scanf_s("%s", string2); switch (strcmp(string1, string2)) { case 0: operator = '='; break; case 1: operator = '>'; break; case -1: operator = '