Detailed Guide to C Language Programs

C programs are frequently asked questions in interviews. These programs can range from basics, arrays, strings, pointers, linked lists, file handling, etc. Let’s take a look at the list of C programs.

1) Fibonacci Sequence

Without Recursion:

#include <stdio.h>
void printFibonacci(int n) {  int a = 0, b = 1, nextTerm;
  for (int i = 1; i <= n; i++) {      printf("%d ", a);      nextTerm = a + b;      a = b;      b = nextTerm;  }}
int main() {  int n;  printf("Please enter the number of terms: ");  scanf("%d", &n);  printFibonacci(n);
  return 0;}

With Recursion:

#include <stdio.h>
int fibonacci(int n) {  if (n <= 1)      return n;  return fibonacci(n - 1) + fibonacci(n - 2);}
void printFibonacci(int n) {  for (int i = 0; i < n; i++) {      printf("%d ", fibonacci(i));  }}
int main() {  int n;  printf("Please enter the number of terms: ");  scanf("%d", &n);  printFibonacci(n);
  return 0;}

👇Click to receive👇
👉C Language Knowledge Material Collection

2) Prime Number

#include <stdio.h>
int isPrime(int num) {  if (num <= 1)      return 0;
  for (int i = 2; i * i <= num; i++) {      if (num % i == 0)          return 0;  }  return 1;}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  if (isPrime(num))      printf("%d is a prime number\n", num);  else      printf("%d is not a prime number\n", num);
  return 0;}

3) Palindrome Number

#include <stdio.h>
int isPalindrome(int num) {  int reverse = 0, temp = num;
  while (temp != 0) {      reverse = reverse * 10 + temp % 10;      temp /= 10;  }
  return reverse == num;}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  if (isPalindrome(num))      printf("%d is a palindrome number\n", num);  else      printf("%d is not a palindrome number\n", num);
  return 0;}

4) Factorial

#include <stdio.h>
int factorial(int n) {  if (n == 0)      return 1;  else      return n * factorial(n - 1);}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  printf("Factorial result is: %d\n", factorial(num));
  return 0;}

5) Armstrong Number

#include <stdio.h>#include <math.h>
int isArmstrong(int num) {  int sum = 0, temp = num, digits = 0;
  while (temp != 0) {      temp /= 10;      digits++;  }
  temp = num;  while (temp != 0) {      int digit = temp % 10;      sum += pow(digit, digits);      temp /= 10;  }
  return sum == num;}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  if (isArmstrong(num))      printf("%d is an Armstrong number\n", num);  else      printf("%d is not an Armstrong number\n", num);
  return 0;}

6) Sum of Digits

#include <stdio.h>
int sumOfDigits(int num) {  int sum = 0;
  while (num != 0) {      sum += num % 10;      num /= 10;  }
  return sum;}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  printf("Sum of digits is: %d\n", sumOfDigits(num));
  return 0;}

7) Reverse Number

#include <stdio.h>
int reverseNumber(int num) {  int reversed = 0;
  while (num != 0) {      reversed = reversed * 10 + num % 10;      num /= 10;  }
  return reversed;}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  printf("Reversed number is: %d\n", reverseNumber(num));
  return 0;}

8) Swap Two Numbers Without Using a Third Variable

#include <stdio.h>
int main() {  int a, b;  printf("Please enter two integers: ");  scanf("%d %d", &a, &b);
  printf("Before swap: a = %d, b = %d\n", a, b);
  a = a + b;  b = a - b;  a = a - b;
  printf("After swap: a = %d, b = %d\n", a, b);
  return 0;}

9) Print “hello” Without Using a Semicolon

#include <stdio.h>
int main() {  if (printf("hello")) {}
  return 0;}

10) Add Two Numbers Using Assembly Code

#include <stdio.h>
int main() {  int a, b, sum;
  printf("Please enter two integers: ");  scanf("%d %d", &a, &b);
  asm volatile("addl %1, %0" : "=r"(sum) : "r"(a), "0"(b));
  printf("The result of adding two numbers is: %d\n", sum);
  return 0;}

11) Print “Hello” Without Using main() Function

#define decode(s,t,u,m,p,e,d) m##s##u##t#define begin decode(a,n,i,m,a,t,e)
#include <stdio.h>
begin() {  printf("Hello\n");  return 0;}

12) Matrix Multiplication

#include <stdio.h>
void matrixMultiplication(int A[][3], int B[][3], int C[][3]) {  for (int i = 0; i < 3; i++) {      for (int j = 0; j < 3; j++) {          C[i][j] = 0;          for (int k = 0; k < 3; k++) {              C[i][j] += A[i][k] * B[k][j];          }      }  }}
void displayMatrix(int matrix[][3]) {  for (int i = 0; i < 3; i++) {      for (int j = 0; j < 3; j++) {          printf("%d ", matrix[i][j]);      }      printf("\n");  }}
int main() {  int A[3][3] = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}};  int B[3][3] = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}};  int C[3][3];
  printf("First matrix elements:\n");  displayMatrix(A);  printf("Second matrix elements:\n");  displayMatrix(B);
  matrixMultiplication(A, B, C);
  printf("Product of the two matrices:\n");  displayMatrix(C);
  return 0;}

13) Decimal to Binary Conversion

#include <stdio.h>
void decimalToBinary(int num) {  if (num == 0)      return;  decimalToBinary(num / 2);  printf("%d", num % 2);}
int main() {  int num;  printf("Please enter a decimal number: ");  scanf("%d", &num);
  printf("Binary representation is: ");  decimalToBinary(num);  printf("\n");
  return 0;}

14) Alphabet Triangle

#include <stdio.h>
int main() {  int n, k = 0;  printf("Please enter the number of rows: ");  scanf("%d", &n);
  for (int i = 1; i <= n; i++, k = 0) {      for (int space = 1; space <= n - i; space++) {          printf(" ");      }      while (k != 2 * i - 1) {          printf("%c", 64 + i + k);          k++;      }      printf("\n");  }
  return 0;}

15) Number Triangle

#include <stdio.h>
int main() {  int i, j, space, rows;
  printf("Please enter the range: ");  scanf("%d", &rows);
  for (i = 1; i <= rows; i++) {      for (space = 1; space <= rows - i; space++)          printf(" ");      for (j = 1; j <= i; j++)          printf("%d", j);      for (j = i - 1; j >= 1; j--)          printf("%d", j);      printf("\n");  }
  return 0;}

16) Fibonacci Triangle

#include <stdio.h>
int fibonacci(int n) {  if (n <= 1)      return n;  return fibonacci(n - 1) + fibonacci(n - 2);}
int main() {  int n;  printf("Please enter the range: ");  scanf("%d", &n);
  for (int i = 0; i < n; i++) {      for (int j = 0; j <= i; j++) {          printf("%d ", fibonacci(j));      }      printf("\n");  }
  return 0;}

17) Convert Number to Words

#include <stdio.h>
void printInWords(int num) {  char* words[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
  if (num == 0) {      printf("%s ", words[0]);      return;  }
  int digit = num % 10;  printInWords(num / 10);  printf("%s ", words[digit]);}
int main() {  int num;  printf("Please enter an integer: ");  scanf("%d", &num);
  printf("Number in words: ");  printInWords(num);  printf("\n");
  return 0;}

Detailed Guide to C Language Programs


Recommended Hot Topics
  • C Language Tutorial – Detailed Guide to Sum of Digits in C Language

  • C Language Algorithm – “Wildcard Matching” Algorithm Problem

  • C++ Tutorial – Keywords in C++ Language

Leave a Comment