K&R C Exercise 1-1a: The “hello, world” Program

Exercise 1-1. Run the “hello, world” program on your system. Experiment with leaving out parts of the program to see what error messages you get. This is the very first program in The C Programming Language by Kernighan and Ritchie — and for many people, the first C program they ever type. The exercise has …

Floyd-Warshall Algorithm in C – All-Pairs Shortest Paths

Floyd-Warshall algorithm finds the shortest paths between every pair of vertices in a weighted graph in a single O(V³) pass. While Dijkstra’s algorithm starts from one source vertex, Floyd-Warshall answers the all-pairs problem: “what is the shortest path from vertex i to vertex j for every i and j?” It uses dynamic programming — systematically …

N-Queens Problem in C – Backtracking Solution with All Solutions

The N-Queens problem asks: place N chess queens on an N×N board so that no two queens share a row, column, or diagonal. The standard C solution uses backtracking — place queens one row at a time, try every column in that row, recurse if the placement is safe, and undo (backtrack) if a dead …

Cyclic Rotation of Array in C – Left and Right Rotation with Example

A cyclic rotation of an array in C shifts every element one position to the left or right, with the element that falls off one end wrapping around to the other. A left rotation moves the first element to the last position; a right rotation moves the last element to the first position. This operation …

C Program to Print Multiplication Table – Single Table and N×N Grid

A multiplication table in C is printed using a for loop that multiplies a given number by each integer from 1 to 10. For a full N×N grid, two nested loops are used: the outer loop for the row, the inner loop for the column, with i * j at the intersection. This is one …

Prim’s Algorithm in C – Minimum Spanning Tree (MST)

Prim’s algorithm finds the Minimum Spanning Tree (MST) of a weighted undirected graph — the set of edges that connects all vertices at the lowest possible total cost. It works by growing a single tree: start at any vertex, then repeatedly add the cheapest edge that reaches a vertex not yet in the tree, until …