You are on page 1of 3

Tìm min max :

#include <stdio.h>

void findMinMax(int arr[], int size, int *min, int *max) {


if (size <= 0) {
printf("Mang rong!\n");
return;
}

*min = arr[0];
*max = arr[0];

for (int i = 1; i < size; i++) {


if (arr[i] < *min) {
*min = arr[i];
}
if (arr[i] > *max) {
*max = arr[i];
}
}
}

int main() {
int arr[] = {9, 4, 2, 7, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int min, max;

findMinMax(arr, size, &min, &max);

printf("Gia tri nho nhat: %d\n", min);


printf("Gia tri lon nhat: %d\n", max);

return 0;
}
Chú thích : Trong ví dụ trên, chúng ta sử dụng hàm findMinMax để tìm giá trị nhỏ nhất và lớn nhất
trong mảng arr. Hàm này nhận vào một mảng (arr), kích thước của mảng (size), và hai con trỏ tới biến
min và max, để lưu giá trị nhỏ nhất và lớn nhất tương ứng.

Trong hàm findMinMax, chúng ta khởi tạo giá trị min và max với phần tử đầu tiên của mảng (arr[0]).
Sau đó, chúng ta duyệt qua từng phần tử còn lại trong mảng và so sánh với min và max hiện tại. Nếu
tìm thấy phần tử nhỏ hơn min, chúng ta cập nhật min. Nếu tìm thấy phần tử lớn hơn max, chúng ta
cập nhật max.

Cuối cùng, trong hàm main, chúng ta gọi findMinMax với mảng arr, kích thước của mảng (size), và hai
con trỏ tới biến min và max. Sau đó, chúng ta in ra giá trị nhỏ nhất và lớn nhất đã tìm được.

Xuất 1 số nguyên tố từ 1 -> N

#include <stdio.h>

void printNumbers(int N) {
for (int i = 1; i <= N; i++) {
printf("%d ", i);
}
printf("\n");
}

int main() {
int N;

printf("Nhap vao so N: ");


scanf("%d", &N);

printf("Cac so tu 1 den %d la: ", N);


printNumbers(N);

return 0;
}
Chú thích : Trong ví dụ trên, chúng ta sử dụng hàm printNumbers để xuất các số từ 1 đến N.
Hàm này nhận vào một số nguyên N và sử dụng một vòng lặp for để liệt kê từ 1 đến N. Mỗi
số được in ra màn hình bằng cách sử dụng hàm printf. Cuối cùng, chúng ta in ra dòng mới
(\n) để xuống dòng.
Trong hàm main, chúng ta khai báo biến N để lưu số nhập vào từ người dùng. Sử dụng
hàm printf, chúng ta yêu cầu người dùng nhập vào giá trị N. Sau đó, chúng ta gọi
hàm printNumbers với giá trị N để xuất các số từ 1 đến N.

Giải pt bậc 2

#include <stdio.h>
#include <math.h>

void solveQuadraticEquation(float a, float b, float c) {


float delta = b * b - 4 * a * c;

if (delta > 0) {
float x1 = (-b + sqrt(delta)) / (2 * a);
float x2 = (-b - sqrt(delta)) / (2 * a);
printf("Phuong trinh co hai nghiem phan biet:\n");
printf("x1 = %.2f\n", x1);
printf("x2 = %.2f\n", x2);
} else if (delta == 0) {
float x = -b / (2 * a);
printf("Phuong trinh co nghiem kep:\n");
printf("x = %.2f\n", x);
} else {
printf("Phuong trinh vo nghiem.\n");
}
}

int main() {
float a, b, c;

printf("Nhap vao cac he so a, b, c cua phuong trinh ax^2 + bx + c = 0:\n");


printf("Nhap a: ");
scanf("%f", &a);
printf("Nhap b: ");
scanf("%f", &b);
printf("Nhap c: ");
scanf("%f", &c);

solveQuadraticEquation(a, b, c);

return 0;
}

Chú thích :Trong ví dụ trên, chúng ta sử dụng hàm solveQuadraticEquation để giải phương trình bậc 2.
Hàm này nhận vào ba tham số a, b, c là các hệ số của phương trình ax^2 + bx + c = 0. Đầu tiên, chúng
ta tính delta (denta) bằng cách sử dụng công thức delta = b^2 - 4ac.

Sau đó, chúng ta kiểm tra các trường hợp:

Nếu delta > 0, phương trình có hai nghiệm phân biệt. Chúng ta tính nghiệm x1 và x2 bằng công thức
x1 = (-b + sqrt(delta)) / (2a) và x2 = (-b - sqrt(delta)) / (2a), và in ra kết quả.
Nếu delta = 0, phương trình có nghiệm kép. Chúng ta tính nghiệm x bằng công thức x = -b / (2a), và in
ra kết quả.
Nếu delta < 0, phương trình vô nghiệm. Chúng ta in ra thông báo là "Phuong trinh vo nghiem."
Trong hàm main, chúng ta khai báo các biến a, b, c để lưu các hệ số nhập vào từ người dùng. Sử dụng
hàm printf, chúng ta yêu cầu người dùng nhập vào các hệ số a, b, c. Sau đó, chúng ta gọi hàm
solveQuadraticEquation với các hệ số đã nhập để giải phương trình bậc 2.

You might also like