Các bài toán lập trình cc ôn tập năm 2024

Bộ đề thi, bài tập lập trình C, C++ này sẽ giúp bạn chủ động luyện kỹ năng lập trình đồng thời chủ động ôn tập cho các kỳ thi trong các môn học lập trình. Đây là cách mà trước đây khi học Đại Học tôi đã áp dụng để luyện tư duy, kỹ năng lập trình của mình. Bạn thử xem!

Danh sách bài tập lập trình C

Bài 1: Nhập vào một số nguyên nhập từ bàn phím, kiểm tra số đó chia hết cho 7 hay không?

Lời giải:

include

int main() {

int number;
// Nhập số nguyên từ bàn phím
printf("Nhập một số nguyên: ");
scanf("%d", &number);
// Kiểm tra xem số có chia hết cho 7 hay không
if (number % 7 == 0) {
    printf("%d chia hết cho 7.\n", number);
} else {
    printf("%d không chia hết cho 7.\n", number);
}
return 0;
}


Bài 2: Viết chương trình sẽ yêu cầu người dùng nhập điểm số của học sinh, và sau đó dựa trên điểm số đó, xác định xếp loại của học sinh theo các mức sau:

  • Nếu điểm số từ 9.0 trở lên, học sinh sẽ được xếp loại là “Xuất sắc”.
  • Nếu điểm số từ 8.0 đến 8.9, học sinh sẽ được xếp loại là “Giỏi”.
  • Nếu điểm số từ 6.5 đến 7.9, học sinh sẽ được xếp loại là “Khá”.
  • Nếu điểm số từ 5.0 đến 6.4, học sinh sẽ được xếp loại là “Trung bình”.
  • Nếu điểm số dưới 5.0, học sinh sẽ được xếp loại là “Yếu”.

Code mẫu:

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

Bài 3: Viết chương trình in ra bảng cửu chương 4

Giải

include

int main() {

int i;
int number = 4;
printf("Bảng cửu chương %d:\n", number);
for (i = 1; i <= 10; i++) {
    printf("%d x %d = %d\n", number, i, number * i);
}
return 0;
}

Kết quả đầu ra:

Bảng cửu chương 4:
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
4 x 10 = 40


Bài 4: Viết chương trình C để tính diện tích hình chữ nhật dựa trên chiều dài và chiều rộng nhập từ bàn phím.

include

int main() {

float length, width;
// Nhập chiều dài và chiều rộng từ bàn phím
printf("Nhập chiều dài: ");
scanf("%f", &length);
printf("Nhập chiều rộng: ");
scanf("%f", &width);
// Tính diện tích hình chữ nhật
float area = length * width;
// Hiển thị kết quả
printf("Diện tích hình chữ nhật có chiều dài %.2f và chiều rộng %.2f là: %.2f\n", length, width, area);
return 0;
}


Bài 5: Viết chương trình C để tìm ước chung lớn nhất (GCD) của hai số nguyên nhập từ bàn phím.

include

int findGCD(int a, int b) {

if (b == 0) {
    return a;
} else {
    return findGCD(b, a % b);
}
} int main() {
int num1, num2;
// Nhập hai số nguyên từ bàn phím
printf("Nhập số nguyên thứ nhất: ");
scanf("%d", &num1);
printf("Nhập số nguyên thứ hai: ");
scanf("%d", &num2);
// Tìm ước chung lớn nhất
int gcd = findGCD(num1, num2);
// Hiển thị kết quả
printf("Ước chung lớn nhất của %d và %d là: %d\n", num1, num2, gcd);
return 0;
}


Bài 6: Viết chương trình C để tính chu vi và diện tích hình tròn dựa trên bán kính nhập từ bàn phím.

include

include

int main() {

float radius;
const float PI = 3.14159265;  // Giá trị xấp xỉ của số pi
// Nhập bán kính từ bàn phím
printf("Nhập bán kính hình tròn: ");
scanf("%f", &radius);
if (radius < 0) {
    printf("Bán kính không thể là một giá trị âm.\n");
    return 1; // Kết thúc chương trình với mã lỗi
}
// Tính chu vi và diện tích hình tròn
float circumference = 2 * PI * radius;
float area = PI * pow(radius, 2);
// Hiển thị kết quả
printf("Chu vi của hình tròn là: %.2f\n", circumference);
printf("Diện tích của hình tròn là: %.2f\n", area);
return 0;
}


Tạo một hàm nhận hai số làm đối số và trả về tổng của chúng.

Ví dụ

addition(3, 2) ➞ 5
addition(-3, -6) ➞ -9
addition(7, 3) ➞ 10

Lời giải:

include

int addition(int a, int b) {

return a + b;
} int main() {
int num1 = 3;
int num2 = 2;
int sum = addition(num1, num2);
printf("Tổng của %d và %d là: %d\n", num1, num2, sum);
return 0;
}

Trong ví dụ này, hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

3 nhận hai tham số

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

4 và

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

5, sau đó trả về tổng của chúng bằng cách sử dụng phép cộng (

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

6). Trong hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

7, chúng ta gọi hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

3 với hai số cụ thể (3 và 2), sau đó in ra tổng của chúng trên màn hình.


Viết hàm lấy một số nguyên phút(minutes) và chuyển nó thành giây

Ví dụ:

convert(5) ➞ 300
convert(3) ➞ 180
convert(2) ➞ 120

Code

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

0

Hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

9 nhận số phút làm đối số và trả về số giây tương ứng bằng cách nhân với 60 (vì mỗi phút có 60 giây). Trong hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

7, chúng ta gọi hàm

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

9 với số phút cụ thể và in kết quả ra màn hình.


Viết hàm kiểm tra một số có phải đối xứng không

Case

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

1

Code

include

int main() {

float score;
// Nhập điểm số từ bàn phím và kiểm tra ràng buộc
do {
    printf("Nhập điểm số của học sinh (từ 0 đến 10): ");
    scanf("%f", &score);
    if (score < 0 || score > 10) {
        printf("Điểm số không hợp lệ. Vui lòng nhập lại.\n");
    }
} while (score < 0 || score > 10);
// Xác định xếp loại dựa trên điểm số
if (score >= 9.0) {
    printf("Xếp loại: Xuất sắc\n");
} else if (score >= 8.0) {
    printf("Xếp loại: Giỏi\n");
} else if (score >= 6.5) {
    printf("Xếp loại: Khá\n");
} else if (score >= 5.0) {
    printf("Xếp loại: Trung bình\n");
} else {
    printf("Xếp loại: Yếu\n");
}
return 0;
}

2

Hàm

include

int main() {

int i;
int number = 4;
printf("Bảng cửu chương %d:\n", number);
for (i = 1; i <= 10; i++) {
    printf("%d x %d = %d\n", number, i, number * i);
}
return 0;
}

2 kiểm tra xem một số có phải là số đối xứng hay không. Nó đảo ngược số ban đầu và sau đó so sánh với số ban đầu. Nếu chúng giống nhau, số đó là số đối xứng. Chương trình nhập một số từ bàn phím và sau đó gọi hàm

include

int main() {

int i;
int number = 4;
printf("Bảng cửu chương %d:\n", number);
for (i = 1; i <= 10; i++) {
    printf("%d x %d = %d\n", number, i, number * i);
}
return 0;
}

2 để kiểm tra xem số đó có phải là số đối xứng không, sau đó hiển thị kết quả tương ứng.