Bài tập C

77 bài tập · 39 Easy · 19 Medium · 19 Hard

Hello World in C

easy

Hoàn thành chương trình in ra dòng chữ "Hello, World!" trên một dòng duy nhất.

Custom

Playing With Characters

easy

Đọc một ký tự, một chuỗi và một câu từ stdin, sau đó in chúng ra mỗi thứ trên một dòng.

Custom

Sum and Difference of Two Numbers

easy

Tính tổng và hiệu của hai số nguyên, sau đó là tổng và hiệu của hai số thực.

Custom

Conditional Statements

easy

Cho một số nguyên n, in ra chữ tiếng Anh tương ứng nếu 1 ≤ n ≤ 9, ngược lại in "Greater than 9".

Custom

For Loop in C

easy

Cho a và b, in ra các số từ a đến b. Với số 1-9 in chữ, với số > 9 in "even" nếu chẵn, "odd" nếu lẻ.

Custom

Functions in C

easy

Viết hàm max_of_four nhận 4 số nguyên và trả về số lớn nhất.

Custom

Pointer in C

easy

Viết hàm update nhận hai con trỏ, gán tổng vào biến thứ nhất và hiệu (trị tuyệt đối) vào biến thứ hai.

Custom

Students Marks Sum

easy

Cho mảng điểm của sinh viên nam và nữ xen kẽ. Tính tổng điểm của sinh viên theo giới tính cho trước.

Custom

Array Reversal

easy

Cho mảng số nguyên, đảo ngược thứ tự các phần tử và in ra.

Custom

Sum of Digits of a Five Digit Number

easy

Cho số nguyên 5 chữ số, tính tổng các chữ số của nó.

Custom

1D Arrays in C

easy

Cấp phát động mảng n số nguyên, tính tổng các phần tử.

Custom

Digit Frequency

medium

Cho một chuỗi, đếm tần suất xuất hiện của mỗi chữ số (0-9) trong chuỗi.

Custom

Bitwise Operators

medium

Tính giá trị lớn nhất của a & b, a | b, a ^ b với 1 ≤ a < b ≤ n.

Custom

Boxes through a Tunnel

medium

Cho struct Box với chiều dài, rộng, cao. Tính thể tích các hộp có chiều cao < 41.

Custom

Sorting Array of Strings

medium

Sắp xếp mảng chuỗi theo thứ tự từ điển, số lượng ký tự khác nhau, và độ dài.

Custom

Variadic Functions in C

medium

Viết hàm variadic để tính tổng, hiệu, tích của n số nguyên.

Custom

Dynamic Array in C

medium

Cấp phát động mảng 2 chiều với kích thước thay đổi, điền số và in ra.

Custom

Small Triangles, Large Triangles

hard

Sắp xếp các tam giác theo diện tích tăng dần. Mỗi tam giác được cho bởi 3 cạnh.

Custom

Post Transition

hard

Quản lý state của các đối tượng với struct và con trỏ. Thực hiện các thao tác chuyển đổi.

Custom

Permutation of Strings

hard

Sinh tất cả hoán vị của mảng chuỗi theo thứ tự từ điển.

Custom

Calculate the Nth Term

easy

Cho 3 số a, b, c và số n. Tính số thứ n theo công thức: f(n) = a nếu n=1, f(n) = b nếu n=2, f(n) = c nếu n=3, f(n) = f(n-1) + f(n-2) + f(n-3) nếu n > 3.

Custom

Printing Pattern Using Loops

medium

In một pattern số dựa trên n. Với n=2: 2 2 2 2 2 \n 2 1 1 1 2 \n 2 1 0 1 2 \n 2 1 1 1 2 \n 2 2 2 2 2

Custom

Reverse a String

easy

Viết chương trình đảo ngược một chuỗi nhập từ bàn phím và in ra.

Custom

Palindrome Check

easy

Kiểm tra một chuỗi có phải palindrome (đọc xuôi ngược như nhau) hay không.

Custom

Fibonacci Series

easy

In n số đầu tiên của dãy Fibonacci. F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2).

Custom

GCD using Euclid Algorithm

easy

Tìm ước chung lớn nhất (GCD) của hai số nguyên dương bằng thuật toán Euclid.

Custom

Prime Number Check

easy

Kiểm tra một số nguyên dương có phải số nguyên tố hay không.

Custom

Matrix Multiplication

medium

Nhân hai ma trận a (m×n) và b (n×p), in ma trận kết quả.

Custom

Second Largest Element

easy

Tìm phần tử lớn thứ hai trong mảng số nguyên.

Custom

Binary to Decimal

easy

Chuyển đổi số nhị phân (dạng chuỗi) sang số thập phân.

Custom

Element Frequency Count

medium

Đếm tần suất xuất hiện của mỗi phần tử trong mảng và in ra theo thứ tự tăng dần.

Custom

Merge Two Sorted Arrays

easy

Cho hai mảng đã được sắp xếp tăng dần. Trộn chúng thành một mảng cũng được sắp xếp tăng dần.

Custom

Remove Duplicates from Array

medium

Loại bỏ các phần tử trùng lặp trong mảng, chỉ giữ lại phần tử đầu tiên và in mảng kết quả.

Custom

Querying the Document

hard

Phân tích văn bản thành các đoạn (paragraph), mỗi đoạn thành các câu, mỗi câu thành các từ. Trả về từ/câu/đoạn theo truy vấn.

Custom

Factorial of a Number

easy

Tính giai thừa của một số nguyên n (n!). Giai thừa được định nghĩa: n! = n * (n-1) * ... * 1.

Custom

Armstrong Number

easy

Kiểm tra số Armstrong (tổng lũy thừa 3 của các chữ số bằng chính số đó). Ví dụ: 153 = 1^3 + 5^3 + 3^3.

Custom

Perfect Number

easy

Kiểm tra số hoàn hảo (tổng các ước số bằng chính số đó). Ví dụ: 6 = 1 + 2 + 3.

Custom

Count Vowels and Consonants

easy

Đếm số lượng nguyên âm (a, e, i, o, u) và phụ âm trong một chuỗi.

Custom

Decimal to Binary

easy

Chuyển đổi số thập phân sang nhị phân và in ra kết quả.

Custom

Leap Year Check

easy

Kiểm tra một năm có phải năm nhuận hay không. Năm nhuận: chia hết cho 400, hoặc chia hết cho 4 nhưng không chia hết cho 100.

Custom

Pyramid Pattern

easy

In hình kim tự tháp bằng dấu * với n dòng.

Custom

Transpose of a Matrix

easy

Tính ma trận chuyển vị của ma trận kích thước m×n. Chuyển vị: đổi hàng thành cột.

Custom

Sum of Matrix Diagonals

easy

Tính tổng đường chéo chính và đường chéo phụ của ma trận vuông n×n.

Custom

Insertion Sort

easy

Cài đặt thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp mảng tăng dần.

Custom

Anagram Check

medium

Kiểm tra hai chuỗi có phải là anagram (cùng tập ký tự với số lượng bằng nhau) hay không.

Custom

Find Longest Word

easy

Tìm và in ra từ dài nhất trong một câu. Nếu nhiều từ có cùng độ dài, in từ đầu tiên.

Custom

Array Circular Rotation

medium

Xoay mảng sang phải k lần. Mỗi lần xoay, phần tử cuối cùng được đưa lên đầu.

Custom

Symmetric Matrix Check

easy

Kiểm tra ma trận vuông có đối xứng qua đường chéo chính hay không (a[i][j] == a[j][i]).

Custom

Tower of Hanoi

hard

In các bước di chuyển đĩa trong bài toán Tháp Hà Nội với n đĩa từ cột A sang cột C, dùng cột B làm trung gian.

Custom

N-Queens Problem

hard

Xếp n quân hậu lên bàn cờ n×n sao cho không quân hậu nào ăn nhau. In một cách xếp hoặc "No solution" nếu không có.

Custom

Sudoku Solver

hard

Giải Sudoku 9×9. Một số ô đã được điền sẵn (khác 0), các ô trống là 0. In bảng đã giải.

Custom

Rat in a Maze

hard

Cho mê cung n×n với 1 là đường đi, 0 là tường. Chuột ở (0,0) cần đến (n-1,n-1). In đường đi hoặc "No path".

Custom

Longest Common Subsequence

hard

Tìm độ dài dãy con chung dài nhất (LCS) của hai chuỗi.

Custom

0/1 Knapsack Problem

hard

Cho n vật với trọng lượng và giá trị. Tìm tổng giá trị lớn nhất có thể mang với túi có sức chứa W.

Custom

Infix to Postfix Conversion

hard

Chuyển biểu thức trung tố (infix) sang hậu tố (postfix) sử dụng stack. Biểu thức gồm + - * / ( ) và chữ cái thường.

Custom

Big Number Addition

hard

Tính tổng hai số nguyên rất lớn (lên đến 100 chữ số) bằng cách xử lý chuỗi.

Custom

Singly Linked List

hard

Cài đặt danh sách liên kết đơn: chèn vào đầu, in danh sách, và tìm kiếm phần tử.

Custom

Simple Expression Evaluator

hard

Tính giá trị biểu thức số học chỉ gồm +, -, *, / và số nguyên. Biểu thức không có dấu ngoặc.

Custom

Find Maximum of Three

easy

Nhập ba số nguyên và in ra số lớn nhất.

HackerRank

Even or Odd

easy

Kiểm tra một số nguyên là chẵn hay lẻ. In "Even" nếu chẵn, "Odd" nếu lẻ.

HackerRank

Sum of N Natural Numbers

easy

Tính tổng các số từ 1 đến n.

HackerRank

Print Multiplication Table

easy

In bảng cửu chương của n từ 1 đến 10, mỗi dòng có dạng "n x i = kết_quả".

HackerRank

Count Number of Digits

easy

Đếm số lượng chữ số của một số nguyên dương.

HackerRank

Reverse a Number

easy

Đảo ngược các chữ số của một số nguyên.

HackerRank

Power of Two Check

easy

Kiểm tra một số nguyên dương có phải là lũy thừa của 2 hay không.

HackerRank

Find Missing Number

medium

Cho mảng gồm n-1 số nguyên từ 1 đến n, trong đó có một số bị thiếu. Tìm số đó.

HackerRank

Two Sum

medium

Cho mảng số nguyên và một số target. Tìm hai chỉ số i, j (i ≠ j) sao cho arr[i] + arr[j] = target. In ra "i j" hoặc "No solution".

HackerRank

Maximum Subarray Sum

medium

Tìm tổng lớn nhất của một dãy con liên tiếp trong mảng số nguyên (thuật toán Kadane).

HackerRank

Move Zeroes to End

medium

Di chuyển tất cả số 0 trong mảng về cuối, giữ nguyên thứ tự các phần tử khác không.

HackerRank

Valid Parentheses

medium

Kiểm tra chuỗi dấu ngoặc () {} [] có hợp lệ hay không. Dùng stack để kiểm tra.

HackerRank

Majority Element

medium

Tìm phần tử xuất hiện nhiều hơn n/2 lần trong mảng. Đảm bảo luôn có đáp án.

HackerRank

Find Duplicate in Array

medium

Cho mảng n+1 số nguyên trong khoảng [1, n]. Tìm một phần tử xuất hiện ít nhất hai lần.

HackerRank

Merge Sort Implementation

hard

Cài đặt thuật toán sắp xếp trộn (Merge Sort) để sắp xếp mảng số nguyên.

HackerRank

Quick Sort Implementation

hard

Cài đặt thuật toán sắp xếp nhanh (Quick Sort) với chiến lược chọn pivot là phần tử cuối.

HackerRank

Binary Search Tree Operations

hard

Cài đặt cây nhị phân tìm kiếm (BST) với các thao tác: chèn, duyệt in-order, và tìm kiếm.

HackerRank

Edit Distance (Levenshtein)

hard

Tìm số thao tác tối thiểu (chèn, xóa, thay thế) để biến chuỗi s1 thành chuỗi s2.

HackerRank

N-Queens All Solutions

hard

Đếm số cách xếp n quân hậu trên bàn cờ n×n sao cho không quân hậu nào ăn nhau.

HackerRank