68
Common C Programs Raghudathesh G P Asst Prof GMIT DVG Page 1 c program to check whether input alphabet is a vowel or not #include <stdio.h> main() { char ch; printf("Enter a character\n"); scanf("%c", &ch); if (ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || ch == 'I' || ch =='o' || ch=='O' || ch == 'u' || ch == 'U') printf("%c is a vowel.\n", ch); else printf("%c is not a vowel.\n", ch); return 0; } main() { char ch; printf("Enter a character\n"); scanf("%c", &ch); switch(ch) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': printf("%c is a vowel.\n", ch); break; default: printf("%c is not a vowel.\n", ch); } return 0; }

All C Programs

Embed Size (px)

DESCRIPTION

This Material covers almost all programs on all basic concept of C it will helpful for students who are taking interview for software company

Citation preview

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 1

c program to check whether input alphabet is a vowel or not

#include <stdio.h>

main()

{

char ch;

printf("Enter a character\n");

scanf("%c", &ch);

if (ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || ch

== 'I' || ch =='o' || ch=='O' || ch == 'u' || ch == 'U')

printf("%c is a vowel.\n", ch);

else

printf("%c is not a vowel.\n", ch);

return 0;

}

main()

{

char ch;

printf("Enter a character\n");

scanf("%c", &ch);

switch(ch)

{

case 'a':

case 'A':

case 'e':

case 'E':

case 'i':

case 'I':

case 'o':

case 'O':

case 'u':

case 'U':

printf("%c is a vowel.\n", ch);

break;

default:

printf("%c is not a vowel.\n", ch);

}

return 0;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 2

c program to check leap year

#include <stdio.h>

int main()

{

int year;

printf("Enter a year to check if it is a leap year\n");

scanf("%d", &year);

if ( year%400 == 0)

printf("%d is a leap year.\n", year);

else if ( year%100 == 0)

printf("%d is not a leap year.\n", year);

else if ( year%4 == 0 )

printf("%d is a leap year.\n", year);

else

printf("%d is not a leap year.\n", year);

return 0;

}

add digits of number in c

C program to add digits of a number: Here we are using modulus operator(%) to extract

individual digits of number and adding them.

C programming code

#include <stdio.h>

main()

{

int n, sum = 0, remainder;

printf("Enter an integer\n");

scanf("%d",&n);

while(n != 0)

{

remainder = n % 10;

sum = sum + remainder;

n = n / 10;

}

printf("Sum of digits of entered number = %d\n",sum);

return 0;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 3

For example if the input is 98, sum(variable) is 0 initially

98%10 = 8 (% is modulus operator which gives us remainder when 98 is divided by 10).

sum = sum + remainder

so sum = 8 now.

98/10 = 9 because in c whenever we divide integer by another integer we get an integer.

9%10 = 9

sum = 8(previous value) + 9

sum = 17

9/10 = 0.

So finally n = 0, loop ends we get the required sum.

Factorial program in c

Factorial program in c: c code to find and print factorial of a number, three methods are

given, first one uses a for loop, second uses a function to find factorial and third using

recursion. Factorial is represented using !, so five factorial will be written as 5!, n factorial as

n!. Also

n! = n*(n-1)*(n-2)*(n-3)...3.2.1 and zero factorial is defined as one i.e. 0!=1.

Factorial program in c using for loop

: Here we find factorial using for loop.

#include<stdio.h>

#include<conio.h>

main()

{

int c, n, fact = 1;

printf("Enter a number to calculate it's factorial\n");

scanf("%d",&n);

for( c = 1 ; c <= n ; c++ )

fact = fact*c;

printf("Factorial of %d = %d\n",n,fact);

getch();

return 0;

}

Factorial

Output of code:

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 4

Factorial program in c using function

#include<stdio.h>

long factorial(int);

main()

{

int number;

long fact = 1;

printf("Enter a number to calculate it's factorial\n");

scanf("%d",&number);

printf("%d! = %ld\n", number, factorial(number));

return 0;

}

long factorial(int n)

{

int c;

long result = 1;

for( c = 1 ; c <= n ; c++ )

result = result*c;

return ( result );

}

Factorial program in c using recursion

#include<stdio.h>

long factorial(int);

main()

{

int num;

long f;

printf("ENTER A NUMBER TO FIND FACTORIAL :");

scanf("%d",&num);

if(num<0)

printf("NEGATIVE NUMBERS ARE NOT ALLOWED");

else

{

f = factorial(num);

printf("%d!=%ld",num,f);

}

return(0);

}

long factorial(int n)

{

if(n==0)

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 5

return(1);

else

return(n*factorial(n-1));

}

c program to find hcf and lcm

C program to find hcf and lcm: The code below finds highest common factor and least

common multiple of two integers. HCF is also known as greatest common divisor(GCD) or

greatest common factor(gcf).

C programming code

#include <stdio.h>

int main() {

int a, b, x, y, t, gcd, lcm;

printf("Enter two integers\n");

scanf("%d%d", &x, &y);

a = x;

b = y;

while (b != 0) {

t = b;

b = a % b;

a = t;

}

gcd = a;

lcm = (x*y)/gcd;

printf("Greatest common divisor of %d and %d = %d\n", x, y, gcd);

printf("Least common multiple of %d and %d = %d\n", x, y, lcm);

return 0;

}

C program to find hcf and lcm using recursion

#include <stdio.h>

long gcd(long, long);

int main() {

long x, y, hcf, lcm;

printf("Enter two integers\n");

scanf("%ld%ld", &x, &y);

hcf = gcd(x, y);

lcm = (x*y)/hcf;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 6

printf("Greatest common divisor of %ld and %ld = %ld\n", x, y, hcf);

printf("Least common multiple of %ld and %ld = %ld\n", x, y, lcm);

return 0;

}

long gcd(long a, long b) {

if (b == 0) {

return a;

}

else {

return gcd(b, a % b);

}

}

C program to find hcf and lcm using function

#include <stdio.h>

long gcd(long, long);

int main() {

long x, y, hcf, lcm;

printf("Enter two integers\n");

scanf("%ld%ld", &x, &y);

hcf = gcd(x, y);

lcm = (x*y)/hcf;

printf("Greatest common divisor of %ld and %ld = %ld\n", x, y, hcf);

printf("Least common multiple of %ld and %ld = %ld\n", x, y, lcm);

return 0;

}

long gcd(long x, long y) {

if (x == 0) {

return y;

}

while (y != 0) {

if (x > y) {

x = x - y;

}

else {

y = y - x;

}

}

return x;

}

Compiler used:

GCC

Output of program:

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 7

Decimal to binary conversion

C program to convert decimal to binary: c language code to convert an integer from decimal

number system(base-10) to binary number system(base-2). Size of integer is assumed to be

32 bits. We use bitwise operators to perform the desired task. We right shift the original

number by 31, 30, 29, ..., 1, 0 bits using a loop and bitwise AND the number obtained with

1(one), if the result is 1 then that bit is 1 otherwise it is 0(zero).

C programming code

#include <stdio.h>

int main()

{

int n, c, k;

printf("Enter an integer in decimal number system\n");

scanf("%d", &n);

printf("%d in binary number system is:\n", n);

for (c = 31; c >= 0; c--)

{

k = n >> c;

if (k & 1)

printf("1");

else

printf("0");

}

printf("\n");

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 8

return 0;

}

Above code only prints binary of integer, but we may wish to perform operations on binary

so in the code below we are storing the binary in a string. We create a function which returns

a pointer to string which is the binary of the number passed as argument to the function.

C code to store decimal to binary conversion in a string

#include <stdio.h>

#include <stdlib.h>

char *decimal_to_binary(int);

main()

{

int n, c, k;

char *pointer;

printf("Enter an integer in decimal number system\n");

scanf("%d",&n);

pointer = decimal_to_binary(n);

printf("Binary string of %d is: %s\n", n, t);

free(pointer);

return 0;

}

char *decimal_to_binary(int n)

{

int c, d, count;

char *pointer;

count = 0;

pointer = (char*)malloc(32+1);

if ( pointer == NULL )

exit(EXIT_FAILURE);

for ( c = 31 ; c >= 0 ; c-- )

{

d = n >> c;

if ( d & 1 )

*(pointer+count) = 1 + '0';

else

*(pointer+count) = 0 + '0';

count++;

}

*(pointer+count) = '\0';

return pointer;

}

Compiler used:

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 9

GCC

Output of program:

c program to find ncr and npr

c program to find nCr and nPr: This code calculate nCr which is n!/(r!*(n-r)!) and nPr =

n!/(n-r)!

C program to find nCr using function

#include<stdio.h>

long factorial(int);

long find_ncr(int, int);

long find_npr(int, int);

main()

{

int n, r;

long ncr, npr;

printf("Enter the value of n and r\n");

scanf("%d%d",&n,&r);

ncr = find_ncr(n, r);

npr = find_npr(n, r);

printf("%dC%d = %ld\n", n, r, ncr);

printf("%dP%d = %ld\n", n, r, npr);

return 0;

}

long find_ncr(int n, int r)

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 10

{

long result;

result = factorial(n)/(factorial(r)*factorial(n-r));

return result;

}

long find_npr(int n, int r)

{

long result;

result = factorial(n)/factorial(n-r);

return result;

}

long factorial(int n)

{

int c;

long result = 1;

for( c = 1 ; c <= n ; c++ )

result = result*c;

return ( result );

}

Output of program:

c program to swap two numbers

C program to swap two numbers with and without using third variable, swapping in c using

pointers, functions (Call by reference) and using bitwise XOR operator, swapping means

interchanging. For example if in your c program you have taken two variable a and b where a

= 4 and b = 5, then before swapping a = 4, b = 5 after swapping a = 5, b = 4

In our c program to swap numbers we will use a temp variable to swap two numbers.

Swapping is used in sorting that is when we wish to arrange numbers in a particular order

either in ascending order or in descending order.

Swapping of two numbers in c

#include <stdio.h>

int main()

{

int x, y, temp;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 11

printf("Enter the value of x and y\n");

scanf("%d%d", &x, &y);

printf("Before Swapping\nx = %d\ny = %d\n",x,y);

temp = x;

x = y;

y = temp;

printf("After Swapping\nx = %d\ny = %d\n",x,y);

return 0;

}

Swapping of two numbers without third variable

You can also swap two numbers without using temp or temporary or third variable. In that

case c program will be as shown :-

#include <stdio.h>

int main()

{

int a, b;

printf("Enter two integers to swap\n");

scanf("%d%d", &a, &b);

a = a + b;

b = a - b;

a = a - b;

printf("a = %d\nb = %d\n",a,b);

return 0;

}

To understand above logic simply choose a as 7 and b as 9 and then do what is written in

program. You can choose any other combination of numbers as well. Sometimes it's a good

way to understand a program.

Swap two numbers using pointers

#include <stdio.h>

int main()

{

int x, y, *a, *b, temp;

printf("Enter the value of x and y\n");

scanf("%d%d", &x, &y);

printf("Before Swapping\nx = %d\ny = %d\n", x, y);

a = &x;

b = &y;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 12

temp = *b;

*b = *a;

*a = temp;

printf("After Swapping\nx = %d\ny = %d\n", x, y);

return 0;

}

Swapping numbers using call by reference

In this method we will make a function to swap numbers.

#include <stdio.h>

void swap(int*, int*);

int main()

{

int x, y;

printf("Enter the value of x and y\n");

scanf("%d%d",&x,&y);

printf("Before Swapping\nx = %d\ny = %d\n", x, y);

swap(&x, &y);

printf("After Swapping\nx = %d\ny = %d\n", x, y);

return 0;

}

void swap(int *a, int *b)

{

int temp;

temp = *b;

*b = *a;

*a = temp;

}

C programming code to swap using bitwise XOR

#include <stdio.h>

int main()

{

int x, y;

scanf("%d%d", &x, &y);

printf("x = %d\ny = %d\n", x, y);

x = x ^ y;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 13

y = x ^ y;

x = x ^ y;

printf("x = %d\ny = %d\n", x, y);

return 0;

}

c program to reverse a number

C Program to reverse a number :- This program reverse the number entered by the user and

then prints the reversed number on the screen. For example if user enter 123 as input then 321

is printed as output. In our program we use modulus(%) operator to obtain the digits of a

number. To invert number look at it and write it from opposite direction or the output of code

is a number obtained by writing original number from right to left. To reverse large numbers

use long data type or long long data type if your compiler supports it, if you still have large

numbers then use strings or other data structure.

C programming code

#include <stdio.h>

main()

{

int n, reverse = 0;

printf("Enter a number to reverse\n");

scanf("%d",&n);

while (n != 0)

{

reverse = reverse * 10;

reverse = reverse + n%10;

n = n/10;

}

printf("Reverse of entered number is = %d\n", reverse);

return 0;

}

Output of program:

Palindrome Numbers

Palindrome number in c: A palindrome number is a number such that if we reverse it, it will

not change. For example some palindrome numbers examples are 121, 212, 12321, -454. To

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 14

check whether a number is palindrome or not first we reverse it and then compare the number

obtained with the original, if both are same then number is palindrome otherwise not. C

program for palindrome number is given below.

Palindrome number algorithm

1. Get the number from user.

2. Reverse it.

3. Compare it with the number entered by the user.

4. If both are same then print palindrome number

5. Else print not a palindrome number.

Palindrome number program c

#include<stdio.h>

main()

{

int n, reverse = 0, temp;

printf("Enter a number to check if it is a palindrome or not\n");

scanf("%d",&n);

temp = n;

while( temp != 0 )

{

reverse = reverse * 10;

reverse = reverse + temp%10;

temp = temp/10;

}

if ( n == reverse )

printf("%d is a palindrome number.\n", n);

else

printf("%d is not a palindrome number.\n", n);

return 0;

}

c program to print patterns of numbers and

stars

These program prints various different patterns of numbers and stars. These codes illustrate

how to create various patterns using c programming. Most of these c programs involve usage

of nested loops and space. A pattern of numbers, star or characters is a way of arranging these

in some logical manner or they may form a sequence. Some of these patterns are triangles

which have special importance in mathematics. Some patterns are symmetrical while other

are not. Please see the complete page and look at comments for many different patterns.

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 15

*

***

*****

*******

*********

We have shown five rows above, in the program you will be asked to enter the numbers of

rows you want to print in the pyramid of stars.

C programming code

#include<stdio.h>

main()

{

int row, c, n, temp;

printf("Enter the number of rows in pyramid of stars you wish to see ");

scanf("%d",&n);

temp = n;

for ( row = 1 ; row <= n ; row++ )

{

for ( c = 1 ; c < temp ; c++ )

printf(" ");

temp--;

for ( c = 1 ; c <= 2*row - 1 ; c++ )

printf("*");

printf("\n");

}

return 0;

}

Output:

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 16

Consider the pattern

*

**

***

****

*****

to print above pattern see the code below:

#include<stdio.h>

main()

{

int n, c, k;

printf("Enter number of rows\n");

scanf("%d",&n);

for ( c = 1 ; c <= n ; c++ )

{

for( k = 1 ; k <= c ; k++ )

printf("*");

printf("\n");

}

return 0;

}

c program to print diamond pattern

Diamond pattern in c: This code print diamond pattern of stars. Diamond shape is as follows:

*

***

*****

***

*

C programming code

#include <stdio.h>

int main()

{

int n, c, k, space = 1;

printf("Enter number of rows\n");

scanf("%d", &n);

space = n - 1;

for (k = 1; k <= n; k++)

{

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 17

for (c = 1; c <= space; c++)

printf(" ");

space--;

for (c = 1; c <= 2*k-1; c++)

printf("*");

printf("\n");

}

space = 1;

for (k = 1; k <= n - 1; k++)

{

for (c = 1; c <= space; c++)

printf(" ");

space++;

for (c = 1 ; c <= 2*(n-k)-1; c++)

printf("*");

printf("\n");

}

return 0;

}

c program for prime number

Prime number program in c: c program for prime number, this code prints prime numbers

using c programming language. To check whether a number is prime or not see another code

below. Prime number logic: a number is prime if it is divisible only by one and itself.

Remember two is the only even and also the smallest prime number. First few prime numbers

are 2, 3, 5, 7, 11, 13, 17....etc. Prime numbers have many applications in computer science

and mathematics. A number greater than one can be factorized into prime numbers, For

example 540 = 22*3

3*5

1

Prime number program in c language

#include<stdio.h>

main()

{

int n, i = 3, count, c;

printf("Enter the number of prime numbers required\n");

scanf("%d",&n);

if ( n >= 1 )

{

printf("First %d prime numbers are :\n",n);

printf("2\n");

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 18

for ( count = 2 ; count <= n ; )

{

for ( c = 2 ; c <= i - 1 ; c++ )

{

if ( i%c == 0 )

break;

}

if ( c == i )

{

printf("%d\n",i);

count++;

}

i++;

}

return 0;

}

There are many logic to check prime numbers, one given below is more efficient then above

method.

for ( c = 2 ; c <= (int)sqrt(n) ; c++ )

//only checking from 2 to square root of number is sufficient.

There are many more efficient logic then written above.

C program for prime number or not

#include<stdio.h>

main()

{

int n, c = 2;

printf("Enter a number to check if it is prime\n");

scanf("%d",&n);

for ( c = 2 ; c <= n - 1 ; c++ )

{

if ( n%c == 0 )

{

printf("%d is not prime.\n", n);

break;

}

}

if ( c == n )

printf("%d is prime.\n", n);

return 0;

}

C program for prime number using function

#include<stdio.h>

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 19

int check_prime(int);

main()

{

int n, result;

printf("Enter an integer to check whether it is prime or not.\n");

scanf("%d",&n);

result = check_prime(n);

if ( result == 1 )

printf("%d is prime.\n", n);

else

printf("%d is not prime.\n", n);

return 0;

}

int check_prime(int a)

{

int c;

for ( c = 2 ; c <= a - 1 ; c++ )

{

if ( a%c == 0 )

return 0;

}

if ( c == a )

return 1;

}

armstrong number c program

armstrong number c program: c programming code to check whether a number is armstrong

or not. A number is armstrong if the sum of cubes of individual digits of a number is equal to

the number itself. For example 371 is an armstrong number as 33 + 7

3 + 1

3 = 371. Some other

armstrong numbers are: 0, 1, 153, 370, 407.

C programming code

#include <stdio.h>

main()

{

int number, sum = 0, temp, remainder;

printf("Enter a number\n");

scanf("%d",&number);

temp = number;

while( temp != 0 )

{

remainder = temp%10;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 20

sum = sum + remainder*remainder*remainder;

temp = temp/10;

}

if ( number == sum )

printf("Entered number is an armstrong number.");

else

printf("Entered number is not an armstrong number.");

return 0;

}

Output of program:

Fibonacci series in c

Fibonacci series in c programming: c program for Fibonacci series without and with

recursion. Using the code below you can print as many number of terms of series as desired.

Numbers of Fibonacci sequence are known as Fibonacci numbers. First few numbers of

series are 0, 1, 1, 2, 3, 5, 8 etc, Except first two terms in sequence every other term is the sum

of two previous terms, For example 8 = 3 + 5 (addition of 3, 5). This sequence has many

applications in mathematics and Computer Science.

Fibonacci series in c using for loop

/* Fibonacci Series c language */

#include<stdio.h>

main()

{

int n, first = 0, second = 1, next, c;

printf("Enter the number of terms\n");

scanf("%d",&n);

printf("First %d terms of Fibonacci series are :-\n",n);

for ( c = 0 ; c < n ; c++ )

{

if ( c <= 1 )

next = c;

else

{

next = first + second;

first = second;

second = next;

}

printf("%d\n",next);

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 21

return 0;

}

Output of program:

Fibonacci series program in c using recursion

#include<stdio.h>

int Fibonacci(int);

main()

{

int n, i = 0, c;

scanf("%d",&n);

printf("Fibonacci series\n");

for ( c = 1 ; c <= n ; c++ )

{

printf("%d\n", Fibonacci(i));

i++;

}

return 0;

}

int Fibonacci(int n)

{

if ( n == 0 )

return 0;

else if ( n == 1 )

return 1;

else

return ( Fibonacci(n-1) + Fibonacci(n-2) );

}

c program to print Floyd's triangle

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 22

C program to print Floyd's triangle:- This program prints Floyd's triangle. Number of rows of

Floyd's triangle to print is entered by the user. First four rows of Floyd's triangle are as

follows :-

1

2 3

4 5 6

7 8 9 10

It's clear that in Floyd's triangle nth row contains n numbers.

C programming code

#include<stdio.h>

#include<conio.h>

main()

{

int n, i, c, a = 1;

printf("Enter the number of rows of Floyd's triangle to print\n");

scanf("%d",&n);

for ( i = 1 ; i <= n ; i++ )

{

for ( c = 1 ; c <= i ; c++ )

{

printf("%d ",a);

a++;

}

printf("\n");

}

getch();

return 0;

}

Output of program:

c program to print Pascal triangle

Pascal Triangle in c: C program to print Pascal triangle which you might have studied in

Binomial Theorem in Mathematics. Number of rows of Pascal triangle to print is entered by

the user. First four rows of Pascal triangle are shown below :-

1

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 23

1 1

1 2 1

1 3 3 1

Pascal triangle in c

#include<stdio.h>

long factorial(int);

main()

{

int i, n, c;

printf("Enter the number of rows you wish to see in pascal triangle\n");

scanf("%d",&n);

for ( i = 0 ; i < n ; i++ )

{

for ( c = 0 ; c <= ( n - i - 2 ) ; c++ )

printf(" ");

for( c = 0 ; c <= i ; c++ )

printf("%ld ",factorial(i)/(factorial(c)*factorial(i-c)));

printf("\n");

}

return 0;

}

long factorial(int n)

{

int c;

long result = 1;

for( c = 1 ; c <= n ; c++ )

result = result*c;

return ( result );

}

For more patterns or shapes on numbers and characters see codes on following pages:

Patterns programs

Floyd triangle

Pascal triangle program.

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 24

Output of program:

c program to find maximum element in

array

This code find maximum or largest element present in an array. It also prints the location or

index at which maximum element occurs in array. This can also be done by using pointers

(see both codes).

C programming code

#include <stdio.h>

int main()

{

int array[100], maximum, size, c, location = 1;

printf("Enter the number of elements in array\n");

scanf("%d", &size);

printf("Enter %d integers\n", size);

for (c = 0; c < size; c++)

scanf("%d", &array[c]);

maximum = array[0];

for (c = 1; c < size; c++)

{

if (array[c] > maximum)

{

maximum = array[c];

location = c+1;

}

}

printf("Maximum element is present at location number %d and it's value

is %d.\n", location, maximum);

return 0;

}

C programming code using pointers

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 25

#include <stdio.h>

int main()

{

long array[100], *maximum, size, c, location = 1;

printf("Enter the number of elements in array\n");

scanf("%ld", &size);

printf("Enter %ld integers\n", size);

for ( c = 0 ; c < size ; c++ )

scanf("%ld", &array[c]);

maximum = array;

*maximum = *array;

for (c = 1; c < size; c++)

{

if (*(array+c) > *maximum)

{

*maximum = *(array+c);

location = c+1;

}

}

printf("Maximum element is present at location number %ld and it's value

is %ld.\n", location, *maximum);

return 0;

}

c program to reverse an array

c program to reverse an array :- This program reverses the array elements. For example if a is

an array of integers with three elements

such that

a[0] = 1

a[1] = 2

a[2] = 3

then on reversing the array will be

a[0] = 3

a[1] = 2

a[0] = 1

Given below is the c code to reverse an array .

C programming code

#include <stdio.h>

int main()

{

int n, c, d, a[100], b[100];

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 26

printf("Enter the number of elements in array\n");

scanf("%d", &n);

printf("Enter the array elements\n");

for (c = 0; c < n ; c++)

scanf("%d", &a[c]);

/*

* Copying elements into array b starting from end of array a

*/

for (c = n - 1, d = 0; c >= 0; c--, d++)

b[d] = a[c];

/*

* Copying reversed array into original.

* Here we are modifying original array, this is optional.

*/

for (c = 0; c < n; c++)

a[c] = b[c];

printf("Reverse array is\n");

for (c = 0; c < n; c++)

printf("%d\n", a[c]);

return 0;

}

Output of program:

Reverse array by swapping(without using additional

memory)

#include <stdio.h>

int main() {

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 27

int array[100], n, c, t, end;

scanf("%d", &n);

end = n - 1;

for (c = 0; c < n; c++) {

scanf("%d", &array[c]);

}

for (c = 0; c < n/2; c++) {

t = array[c];

array[c] = array[end];

array[end] = t;

end--;

}

printf("Reversed array elements are:\n");

for (c = 0; c < n; c++) {

printf("%d\n", array[c]);

}

return 0;

}

c program to reverse an array using pointers

#include<stdio.h>

#include<stdlib.h>

void reverse_array(int*, int);

main()

{

int n, c, *pointer;

scanf("%d",&n);

pointer = (int*)malloc(sizeof(int)*n);

if( pointer == NULL )

exit(EXIT_FAILURE);

for ( c = 0 ; c < n ; c++ )

scanf("%d",(pointer+c));

reverse_array(pointer, n);

printf("Original array on reversal is\n");

for ( c = 0 ; c < n ; c++ )

printf("%d\n",*(pointer+c));

free(pointer);

return 0;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 28

void reverse_array(int *pointer, int n)

{

int *s, c, d;

s = (int*)malloc(sizeof(int)*n);

if( s == NULL )

exit(EXIT_FAILURE);

for ( c = n - 1, d = 0 ; c >= 0 ; c--, d++ )

*(s+d) = *(pointer+c);

for ( c = 0 ; c < n ; c++ )

*(pointer+c) = *(s+c);

free(s);

}

c program to insert an element in an array

This code will insert an element into an array, For example consider an array a[10] having

three elements in it initially and a[0] = 1, a[1] = 2 and a[2] = 3 and you want to insert a

number 45 at location 1 i.e. a[0] = 45, so we have to move elements one step below so after

insertion a[1] = 1 which was a[0] initially, and a[2] = 2 and a[3] = 3. Array insertion does not

mean increasing its size i.e array will not be containing 11 elements.

C programming code

#include <stdio.h>

main()

{

int array[100], position, c, n, value;

printf("Enter number of elements in array\n");

scanf("%d", &n);

printf("Enter %d elements\n", n);

for ( c = 0 ; c < n ; c++ )

scanf("%d", &array[c]);

printf("Enter the location where you wish to insert an element\n");

scanf("%d", &position);

printf("Enter the value to insert\n");

scanf("%d", &value);

for ( c = n - 1 ; c >= position - 1 ; c-- )

array[c+1] = array[c];

array[position-1] = value;

printf("Resultant array is\n");

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 29

for( c = 0 ; c <= n ; c++ )

printf("%d\n", array[c]);

return 0;

}

c program to delete an element from an

array

This program delete an element from an array. Deleting an element does not affect the size of

array. It is also checked whether deletion is possible or not, For example if array is containing

five elements and you want to delete element at position six which is not possible.

c programming code

#include <stdio.h>

main()

{

int array[100], position, c, n;

printf("Enter number of elements in array\n");

scanf("%d", &n);

printf("Enter %d elements\n", n);

for ( c = 0 ; c < n ; c++ )

scanf("%d", &array[c]);

printf("Enter the location where you wish to delete element\n");

scanf("%d", &position);

if ( position >= n+1 )

printf("Deletion not possible.\n");

else

{

for ( c = position - 1 ; c < n - 1 ; c++ )

array[c] = array[c+1];

printf("Resultant array is\n");

for( c = 0 ; c < n - 1 ; c++ )

printf("%d\n", array[c]);

}

return 0;

}

C program to merge two arrays

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 30

C program to merge two arrays into third array: Arrays are assumed to be sorted in ascending

order. You enter two short sorted arrays and combine them to get a large array.

C programming code to merge two sorted arrays

#include <stdio.h>

void merge(int [], int, int [], int, int []);

int main() {

int a[100], b[100], m, n, c, sorted[200];

printf("Input number of elements in first array\n");

scanf("%d", &m);

printf("Input %d integers\n", m);

for (c = 0; c < m; c++) {

scanf("%d", &a[c]);

}

printf("Input number of elements in second array\n");

scanf("%d", &n);

printf("Input %d integers\n", n);

for (c = 0; c < n; c++) {

scanf("%d", &b[c]);

}

merge(a, m, b, n, sorted);

printf("Sorted array:\n");

for (c = 0; c < m + n; c++) {

printf("%d\n", sorted[c]);

}

return 0;

}

void merge(int a[], int m, int b[], int n, int sorted[]) {

int i, j, k;

j = k = 0;

for (i = 0; i < m + n;) {

if (j < m && k < n) {

if (a[j] < b[k]) {

sorted[i] = a[j];

j++;

}

else {

sorted[i] = b[k];

k++;

}

i++;

}

else if (j == m) {

for (; i < m + n;) {

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 31

sorted[i] = b[k];

k++;

i++;

}

}

else {

for (; i < m + n;) {

sorted[i] = a[j];

j++;

i++;

}

}

}

}

Output of program:

c program to add two matrix

This c program add two matrices i.e. compute the sum of two matrices and then print it.

Firstly user will be asked to enter the order of matrix ( number of rows and columns ) and

then two matrices. For example if the user entered order as 2, 2 i.e. two rows and two

columns and matrices as

First Matrix :-

1 2

3 4

Second matrix :-

4 5

-1 5

then output of the program ( sum of First and Second matrix ) will be

5 7

2 9

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 32

C programming code

#include <stdio.h>

main()

{

int m, n, c, d, first[10][10], second[10][10], sum[10][10];

printf("Enter the number of rows and columns of matrix ");

scanf("%d%d", &m, &n);

printf("Enter the elements of first matrix\n");

for ( c = 0 ; c < m ; c++ )

for ( d = 0 ; d < n ; d++ )

scanf("%d", &first[c][d]);

printf("Enter the elements of second matrix\n");

for ( c = 0 ; c < m ; c++ )

for ( d = 0 ; d < n ; d++ )

scanf("%d", &second[c][d]);

for ( c = 0 ; c < m ; c++ )

for ( d = 0 ; d < n ; d++ )

sum[c][d] = first[c][d] + second[c][d];

printf("Sum of entered matrices:-\n");

for ( c = 0 ; c < m ; c++ )

{

for ( d = 0 ; d < n ; d++ )

printf("%d\t", sum[c][d]);

printf("\n");

}

return 0;

}

Add matrices program.

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 33

Output of program:

c program to transpose a matrix

This c program prints transpose of a matrix. It is obtained by interchanging rows and columns

of a matrix. For example if a matrix is

1 2

3 4

5 6

then transpose of above matrix will be

1 3 5

2 4 6

When we transpose a matrix then the order of matrix changes, but for a square matrix order

remains same.

C programming code

#include<stdio.h>

main()

{

int m, n, c, d, matrix[10][10], transpose[10][10];

printf("Enter the number of rows and columns of matrix ");

scanf("%d%d",&m,&n);

printf("Enter the elements of matrix \n");

for( c = 0 ; c < m ; c++ )

{

for( d = 0 ; d < n ; d++ )

{

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 34

scanf("%d",&matrix[c][d]);

}

}

for( c = 0 ; c < m ; c++ )

{

for( d = 0 ; d < n ; d++ )

{

transpose[d][c] = matrix[c][d];

}

}

printf("Transpose of entered matrix :-\n");

for( c = 0 ; c < n ; c++ )

{

for( d = 0 ; d < m ; d++ )

{

printf("%d\t",transpose[c][d]);

}

printf("\n");

}

return 0;

}

Output of program:

Matrix multiplication in c

Matrix multiplication in c language: c program to multiply matrices (two dimensional array),

this program multiplies two matrices which will be entered by the user. Firstly user will enter

the order of a matrix. If the entered orders of two matrix is such that they can't be multiplied

then an error message is displayed on the screen. You have already studied the logic to

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 35

multiply them in Mathematics. Matrices are frequently used while doing programming and

are used to represent graph data structure, in solving system of linear equations and many

more.

Matrix multiplication in c language

#include <stdio.h>

int main()

{

int m, n, p, q, c, d, k, sum = 0;

int first[10][10], second[10][10], multiply[10][10];

printf("Enter the number of rows and columns of first matrix\n");

scanf("%d%d", &m, &n);

printf("Enter the elements of first matrix\n");

for ( c = 0 ; c < m ; c++ )

for ( d = 0 ; d < n ; d++ )

scanf("%d", &first[c][d]);

printf("Enter the number of rows and columns of second matrix\n");

scanf("%d%d", &p, &q);

if ( n != p )

printf("Matrices with entered orders can't be multiplied with each

other.\n");

else

{

printf("Enter the elements of second matrix\n");

for ( c = 0 ; c < p ; c++ )

for ( d = 0 ; d < q ; d++ )

scanf("%d", &second[c][d]);

for ( c = 0 ; c < m ; c++ )

{

for ( d = 0 ; d < q ; d++ )

{

for ( k = 0 ; k < p ; k++ )

{

sum = sum + first[c][k]*second[k][d];

}

multiply[c][d] = sum;

sum = 0;

}

}

printf("Product of entered matrices:-\n");

for ( c = 0 ; c < m ; c++ )

{

for ( d = 0 ; d < q ; d++ )

printf("%d\t", multiply[c][d]);

printf("\n");

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 36

}

}

return 0;

}

A 3 X 3 matrix multiply in c is shown as example below.

Compiler used:

GCC

Output of program:

c program print string

This program print a string. String can be printed by using various functions such as printf,

puts.

C programming code

#include <stdio.h>

main()

{

char array[20] = "Hello World";

printf("%s\n",array);

return 0;

}

To input a string we use scanf function.

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 37

C programming code

#include <stdio.h>

main()

{

char array[100];

printf("Enter a string\n");

scanf("%s", array);

printf("You entered the string %s\n",array);

return 0;

}

Input string containing spaces #include <stdio.h>

main()

{

char a[80];

gets(a);

printf("%s\n", a);

return 0;

}

Note that scanf can only input single word strings, to receive strings containing spaces use gets

function.

String length

This program prints length of string, for example consider the string "c programming" it's

length is 13. Null character is not counted when calculating string length. To find string

length we use strlen function of string.h.

C program to find string length

#include<stdio.h>

#include<string.h>

main()

{

char a[100];

int length;

printf("Enter a string to calculate it's length\n");

gets(a);

length = strlen(a);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 38

printf("Length of entered string is = %d\n",length);

return 0;

}

String length program executable.

Output of program:

You can also find string length using pointer or without strlen function. Following program

shows how to achieve this.

C program to find string length without strlen

C program to find length of a string using pointers.

#include<stdio.h>

main()

{

char array[100], *pointer;

int length = 0;

printf("Enter a string\n");

gets(array);

pointer = array;

while(*(pointer+length))

length++;

printf("Length of entered string = %d\n",length);

return 0;

}

Function to find string length

int string_length(char *s)

{

int c = 0;

while(*(s+c))

c++;

return c;

}

c program to compare two strings

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 39

This c program compares two strings using strcmp, without strcmp and using pointers. For

comparing strings without using library function see another code below.

C program to compare two strings using strcmp

#include<stdio.h>

#include<string.h>

main()

{

char a[100], b[100];

printf("Enter the first string\n");

gets(a);

printf("Enter the second string\n");

gets(b);

if( strcmp(a,b) == 0 )

printf("Entered strings are equal.\n");

else

printf("Entered strings are not equal.\n");

return 0;

}

C program to compare two strings without using strcmp

Here we create our own function to compare strings.

int compare(char a[], char b[])

{

int c = 0;

while( a[c] == b[c] )

{

if( a[c] == '\0' || b[c] == '\0' )

break;

c++;

}

if( a[c] == '\0' && b[c] == '\0' )

return 0;

else

return -1;

}

C program to compare two strings using pointers

In this method we will make our own function to perform string comparison, we will use

character pointers in our function to manipulate string.

#include<stdio.h>

int compare_string(char*, char*);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 40

main()

{

char first[100], second[100], result;

printf("Enter first string\n");

gets(first);

printf("Enter second string\n");

gets(second);

result = compare_string(first, second);

if ( result == 0 )

printf("Both strings are same.\n");

else

printf("Entered strings are not equal.\n");

return 0;

}

int compare_string(char *first, char *second)

{

while(*first==*second)

{

if ( *first == '\0' || *second == '\0' )

break;

first++;

second++;

}

if( *first == '\0' && *second == '\0' )

return 0;

else

return -1;

}

string copying in c programming

This program copy string using library function strcpy, to copy string without using strcpy

see source code below in which we have made our own function to copy string.

C program to copy a string

#include<stdio.h>

#include<string.h>

main()

{

char source[] = "C program";

char destination[50];

strcpy(destination, source);

printf("Source string: %s\n", source);

printf("Destination string: %s\n", destination);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 41

return 0;

}

c program to copy a string using pointers

: here we copy string without using strcmp by creating our own function which uses pointers.

#include<stdio.h>

void copy_string(char*, char*);

main()

{

char source[100], target[100];

printf("Enter source string\n");

gets(source);

copy_string(target, source);

printf("Target string is \"%s\"\n", target);

return 0;

}

void copy_string(char *target, char *source)

{

while(*source)

{

*target = *source;

source++;

target++;

}

*target = '\0';

}

c program to concatenate strings

This program concatenates strings, for example if the first string is "c " and second string is

"program" then on concatenating these two strings we get the string "c program". To

concatenate two strings we use strcat function of string.h, to concatenate without using

library function see another code below which uses pointers.

C code

#include<stdio.h>

#include<conio.h>

#include<string.h>

main()

{

char a[100], b[100];

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 42

printf("Enter the first string\n");

gets(a);

printf("Enter the second string\n");

gets(b);

strcat(a,b);

printf("String obtained on concatenation is %s\n",a);

getch();

return 0;

}

string concatenation.

Output:

String concatenation without strcat

#include<stdio.h>

void concatenate_string(char*, char*);

main()

{

char original[100], add[100];

printf("Enter source string\n");

gets(original);

printf("Enter string to concatenate\n");

gets(add);

concatenate_string(original, add);

printf("String after concatenation is \"%s\"\n", original);

return 0;

}

void concatenate_string(char *original, char *add)

{

while(*original)

original++;

while(*add)

{

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 43

*original = *add;

add++;

original++;

}

*original = '\0';

}

Reverse string

This program reverses a string entered by the user. For example if a user enters a string

"reverse me" then on reversing the string will be "em esrever". We show you three different

methods to reverse string the first one uses strrev library function of string.h header file and

in second we make our own function to reverse string using pointers, reverse string using

recursion and Reverse words in string. If you are using first method then you must include

string.h in your program.

C programming code

/* String reverse in c*/

#include<stdio.h>

#include<string.h>

main()

{

char arr[100];

printf("Enter a string to reverse\n");

gets(arr);

strrev(arr);

printf("Reverse of entered string is \n%s\n",arr);

return 0;

}

/* Second method */

C program to reverse a string using pointers

: Now we will invert string using pointers or without using library function strrev.

#include<stdio.h>

int string_length(char*);

void reverse(char*);

main()

{

char string[100];

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 44

printf("Enter a string\n");

gets(string);

reverse(string);

printf("Reverse of entered string is \"%s\".\n", string);

return 0;

}

void reverse(char *string)

{

int length, c;

char *begin, *end, temp;

length = string_length(string);

begin = string;

end = string;

for ( c = 0 ; c < ( length - 1 ) ; c++ )

end++;

for ( c = 0 ; c < length/2 ; c++ )

{

temp = *end;

*end = *begin;

*begin = temp;

begin++;

end--;

}

}

int string_length(char *pointer)

{

int c = 0;

while( *(pointer+c) != '\0' )

c++;

return c;

}

C program to reverse a string using recursion

#include<stdio.h>

#include<string.h>

void reverse(char*,int,int);

main()

{

char a[100];

gets(a);

reverse(a, 0, strlen(a)-1);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 45

printf("%s\n",a);

return 0;

}

void reverse(char *x, int beg, int end)

{

char a, b, c;

if ( beg >= end )

return;

c = *(x+beg);

*(x+beg) = *(x+end);

*(x+end) = c;

reverse(x, ++beg, --end);

}

Reverse string program executable.

Output of program:

c palindrome program, c program for

palindrome

C program for palindrome or palindrome in c programming: palindrome program in c

language, c code to check if a string is a palindrome or not and for palindrome number. This

program works as follows :- at first we copy the entered string into a new string, and then we

reverse the new string and then compares it with original string. If both of them have same

sequence of characters i.e. they are identical then the entered string is a palindrome otherwise

not. To perform copy, reverse and compare operations we use strcpy, strrev and strcmp

functions of string.h respectively, if you do not wish to use these functions see c

programming code for palindrome without using string functions. Some palindrome strings

examples are "dad", "radar", "madam" etc.

C program for palindrome

#include <stdio.h>

#include <string.h>

main()

{

char a[100], b[100];

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 46

printf("Enter the string to check if it is a palindrome\n");

gets(a);

strcpy(b,a);

strrev(b);

if( strcmp(a,b) == 0 )

printf("Entered string is a palindrome.\n");

else

printf("Entered string is not a palindrome.\n");

return 0;

}

Download palindrome executable

Output of program:

Palindrome number in c

#include <stdio.h>

main()

{

int n, reverse = 0, temp;

printf("Enter a number to check if it is a palindrome or not\n");

scanf("%d",&n);

temp = n;

while( temp != 0 )

{

reverse = reverse * 10;

reverse = reverse + temp%10;

temp = temp/10;

}

if ( n == reverse )

printf("%d is a palindrome number.\n", n);

else

printf("%d is not a palindrome number.\n", n);

return 0;

}

C program for palindrome without using string functions

#include <stdio.h>

#include <string.h>

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 47

main()

{

char text[100];

int begin, middle, end, length = 0;

gets(text);

while ( text[length] != '\0' )

length++;

end = length - 1;

middle = length/2;

for( begin = 0 ; begin < middle ; begin++ )

{

if ( text[begin] != text[end] )

{

printf("Not a palindrome.\n");

break;

}

end--;

}

if( begin == middle )

printf("Palindrome.\n");

return 0;

}

C program check palindrome

#include <stdio.h>

int is_palindrome(char*);

void copy_string(char*, char*);

void reverse_string(char*);

int string_length(char*);

int compare_string(char*, char*);

main()

{

char string[100];

int result;

printf("Enter a string\n");

gets(string);

result = is_palindrome(string);

if ( result == 1 )

printf("\"%s\" is a palindrome string.\n", string);

else

printf("\"%s\" is not a palindrome string.\n", string);

return 0;

}

int is_palindrome(char *string)

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 48

{

int check, length;

char *reverse;

length = string_length(string);

reverse = (char*)malloc(length+1);

copy_string(reverse, string);

reverse_string(reverse);

check = compare_string(string, reverse);

free(reverse);

if ( check == 0 )

return 1;

else

return 0;

}

int string_length(char *string)

{

int length = 0;

while(*string)

{

length++;

string++;

}

return length;

}

void copy_string(char *target, char *source)

{

while(*source)

{

*target = *source;

source++;

target++;

}

*target = '\0';

}

void reverse_string(char *string)

{

int length, c;

char *begin, *end, temp;

length = string_length(string);

begin = string;

end = string;

for ( c = 0 ; c < ( length - 1 ) ; c++ )

end++;

for ( c = 0 ; c < length/2 ; c++ )

{

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 49

temp = *end;

*end = *begin;

*begin = temp;

begin++;

end--;

}

}

int compare_string(char *first, char *second)

{

while(*first==*second)

{

if ( *first == '\0' || *second == '\0' )

break;

first++;

second++;

}

if( *first == '\0' && *second == '\0' )

return 0;

else

return -1;

}

remove vowels string c

Remove vowels string c: c program to remove or delete vowels from a string, if the input

string is "c programming" then output will be "c prgrmmng". In the program we create a new

string and process entered string character by character, and if a vowel is found it is not added

to new string otherwise the character is added to new string, after the string ends we copy the

new string into original string. Finally we obtain a string without any vowels.

C programming code

#include <stdio.h>

#include <string.h>

int check_vowel(char);

int main()

{

char s[100], t[100];

int i, j = 0;

printf("Enter a string to delete vowels\n");

gets(s);

for(i = 0; s[i] != '\0'; i++) {

if(check_vowel(s[i]) == 0) { //not a vowel

t[j] = s[i];

j++;

}

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 50

t[j] = '\0';

strcpy(s, t); //We are changing initial string

printf("String after deleting vowels: %s\n", s);

return 0;

}

int check_vowel(char c)

{

switch(c) {

case 'a':

case 'A':

case 'e':

case 'E':

case 'i':

case 'I':

case 'o':

case 'O':

case 'u':

case 'U':

return 1;

default:

return 0;

}

}

C programming code using pointers

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define TRUE 1

#define FALSE 0

int check_vowel(char);

main()

{

char string[100], *temp, *pointer, ch, *start;

printf("Enter a string\n");

gets(string);

temp = string;

pointer = (char*)malloc(100);

if( pointer == NULL )

{

printf("Unable to allocate memory.\n");

exit(EXIT_FAILURE);

}

start = pointer;

while(*temp)

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 51

{

ch = *temp;

if ( !check_vowel(ch) )

{

*pointer = ch;

pointer++;

}

temp++;

}

*pointer = '\0';

pointer = start;

strcpy(string, pointer); /* If you wish to convert original string */

free(pointer);

printf("String after removing vowel is \"%s\"\n", string);

return 0;

}

int check_vowel(char a)

{

if ( a >= 'A' && a <= 'Z' )

a = a + 'a' - 'A';

if ( a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u')

return TRUE;

return FALSE;

}

Substring in c programming, c substring

Substring in c programming: c programming code to find a substring from a given string and

for all substrings of a string, For example substrings of string "the" are "t", "th", "the", "h",

"he" and "e" to find substring we create our own c substring function which returns a pointer

to string. String address, length of substring required and position from where to extract

substring are the three arguments passed to function. String.h does not contain any library

function to directly find substring.

C substring code

#include <stdio.h>

#include <malloc.h>

char* substring(char*, int, int);

main()

{

char string[100], *pointer;

int position, length;

printf("Enter a string\n");

gets(string);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 52

printf("Enter the position and length of substring\n");

scanf("%d%d",&position, &length);

pointer = substring( string, position, length);

printf("Required substring is \"%s\"\n", pointer);

free(pointer);

return 0;

}

/*C substring function: It returns a pointer to the substring */

char *substring(char *string, int position, int length)

{

char *pointer;

int c;

pointer = malloc(length+1);

if (pointer == NULL)

{

printf("Unable to allocate memory.\n");

exit(EXIT_FAILURE);

}

for (c = 0 ; c < position -1 ; c++)

string++;

for (c = 0 ; c < length ; c++)

{

*(pointer+c) = *string;

string++;

}

*(pointer+c) = '\0';

return pointer;

}

C substring program output:

C code for all substrings of a string

#include <stdio.h>

#include <string.h>

#include <malloc.h>

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 53

char* substring(char*, int, int);

main()

{

char string[100], *pointer;

int position = 1, length = 1, temp, string_length;

printf("Enter a string\n");

gets(string);

temp = string_length = strlen(string);

printf("Substring of \"%s\" are\n", string);

while (position <= string_length)

{

while (length <= temp)

{

pointer = substring(string, position, length);

printf("%s\n", pointer);

free(pointer);

length++;

}

temp--;

position++;

length = 1;

}

return 0;

}

/* Use substring function given in above c program*/

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 54

Substring code output:

c program to sort a string in alphabetic

order

C program to sort a string in alphabetic order: For example if user will enter a string

"programming" then output will be "aggimmnoprr" or output string will contain characters in

alphabetical order.

C programming code

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void sort_string(char*);

main()

{

char string[100];

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 55

printf("Enter some text\n");

gets(string);

sort_string(string);

printf("%s\n", string);

return 0;

}

void sort_string(char *s)

{

int c, d = 0, length;

char *pointer, *result, ch;

length = strlen(s);

result = (char*)malloc(length+1);

pointer = s;

for ( ch = 'a' ; ch <= 'z' ; ch++ )

{

for ( c = 0 ; c < length ; c++ )

{

if ( *pointer == ch )

{

*(result+d) = *pointer;

d++;

}

pointer++;

}

pointer = s;

}

*(result+d) = '\0';

strcpy(s, result);

free(result);

}

c program remove spaces, blanks from a

string

C code to remove spaces or excess blanks from a string, For example consider the string

"c programming"

There are two spaces in this string, so our program will print a string

"c programming". It will remove spaces when they occur more than one time consecutively

in string anywhere.

C programming code

#include <stdio.h>

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 56

int main()

{

char text[100], blank[100];

int c = 0, d = 0;

printf("Enter some text\n");

gets(text);

while (text[c] != '\0')

{

if (!(text[c] == ' ' && text[c+1] == ' ')) {

blank[d] = text[c];

d++;

}

c++;

}

blank[d] = '\0';

printf("Text after removing blanks\n%s\n", blank);

return 0;

}

C programming code using pointers

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define SPACE ' '

main()

{

char string[100], *blank, *start;

int length, c = 0, d = 0;

printf("Enter a string\n");

gets(string);

length = strlen(string);

blank = string;

start = (char*)malloc(length+1);

if ( start == NULL )

exit(EXIT_FAILURE);

while(*(blank+c))

{

if ( *(blank+c) == SPACE && *(blank+c+1) == SPACE )

{}

else

{

*(start+d) = *(blank+c);

d++;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 57

c++;

}

*(start+d)='\0';

printf("%s\n", start);

free(start);

return 0;

}

Compiler used:

GCC

Output of program:

strlwr, strupr in c

Here we will change string case with and without strlwr, strupr functions.

strlwr in c

#include<stdio.h>

#include<string.h>

main()

{

char string[] = "Strlwr in C";

printf("%s\n",strlwr(string));

return 0;

}

strupr in c

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 58

#include<stdio.h>

#include<string.h>

main()

{

char string[] = "strupr in c";

printf("%s\n",strupr(string));

return 0;

}

Change string to upper case without strupr

#include<stdio.h>

void upper_string(char*);

main()

{

char string[100];

printf("Enter a string to convert it into upper case\n");

gets(string);

upper_string(string);

printf("Entered string in upper case is \"%s\"\n", string);

return 0;

}

void upper_string(char *string)

{

while(*string)

{

if ( *string >= 'a' && *string <= 'z' )

{

*string = *string - 32;

}

string++;

}

}

Change string to lower case without strlwr

#include<stdio.h>

void lower_string(char*);

main()

{

char string[100];

printf("Enter a string to convert it into lower case\n");

gets(string);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 59

lower_string(string);

printf("Entered string in lower case is \"%s\"\n", string);

return 0;

}

void lower_string(char *string)

{

while(*string)

{

if ( *string >= 'A' && *string <= 'Z' )

{

*string = *string + 32;

}

string++;

}

}

c program to swap two strings

C program to swap strings.

C programming code

#include<stdio.h>

#include<string.h>

#include<malloc.h>

#include<conio.h>

main()

{

char first[100], second[100], *temp;

printf("Enter the first string ");

gets(first);

printf("Enter the second string ");

gets(second);

printf("\nBefore Swapping\n");

printf("First string: %s\n",first);

printf("Second string: %s\n\n",second);

temp = (char*)malloc(100);

strcpy(temp,first);

strcpy(first,second);

strcpy(second,temp);

printf("After Swapping\n");

printf("First string: %s\n",first);

printf("Second string: %s\n",second);

getch();

return 0;

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 60

}

Output of program

Swap strings program executable.

c program to find frequency of characters

in a string

This program computes frequency of characters in a string i.e. which character is present how

many times in a string. For example in the string "code" each of the character 'c', 'o', 'd', and

'e' has occurred one time. Only lower case alphabets are considered, other characters (

uppercase and special characters ) are ignored. You can easily modify this program to handle

uppercase and special symbols.

C programming code

#include<stdio.h>

#include<string.h>

main()

{

char string[100], ch;

int c = 0, count[26] = {0};

printf("Enter a string\n");

gets(string);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 61

while ( string[c] != '\0' )

{

/* Considering characters from 'a' to 'z' only */

if ( string[c] >= 'a' && string[c] <= 'z' )

count[string[c]-'a']++;

c++;

}

for ( c = 0 ; c < 26 ; c++ )

{

if( count[c] != 0 )

printf("%c occurs %d times in the entered

string.\n",c+'a',count[c]);

}

return 0;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 62

Output of program:

anagram in c

Anagram in c: c program to check whether two strings are anagrams or not, string is assumed

to consist of alphabets only. Two words are said to be anagrams of each other if the letters

from one word can be rearranged to form the other word. From the above definition it is clear

that two strings are anagrams if all characters in both strings occur same number of times. For

example "abc" and "cab" are anagram strings, here every character 'a', 'b' and 'c' occur only

one time in both strings. Our algorithm tries to find how many times characters appears in the

strings and then comparing their corresponding counts.

C anagram programming code

#include <stdio.h>

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 63

int check_anagram(char [], char []);

int main()

{

char a[100], b[100];

int flag;

printf("Enter first string\n");

gets(a);

printf("Enter second string\n");

gets(b);

flag = check_anagram(a, b);

if (flag == 1)

printf("\"%s\" and \"%s\" are anagrams.\n", a, b);

else

printf("\"%s\" and \"%s\" are not anagrams.\n", a, b);

return 0;

}

int check_anagram(char a[], char b[])

{

int first[26] = {0}, second[26] = {0}, c = 0;

while (a[c] != '\0')

{

first[a[c]-'a']++;

c++;

}

c = 0;

while (b[c] != '\0')

{

second[b[c]-'a']++;

c++;

}

for (c = 0; c < 26; c++)

{

if (first[c] != second[c])

return 0;

}

return 1;

}

Compiler used:

GCC

Output of program:

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 64

c program to add two complex numbers

c program to add two complex numbers :- This program calculate the sum of two complex

numbers which will be entered by the user and then prints it. User will have to enter the real

and imaginary parts of two complex numbers. In our program we will add real parts and

imaginary parts of complex numbers and prints the complex number, i is the symbol used for

iota. For example if user entered two complex numbers as (1 + 2i) and (4 + 6 i) then output of

program will be (5+8i). A structure is used to store complex number.

C programming code

#include <stdio.h>

struct complex

{

int real, img;

};

main()

{

struct complex a, b, c;

printf("Enter a and b where a + ib is the first complex number.\n");

printf("a = ");

scanf("%d", &a.real);

printf("b = ");

scanf("%d", &a.img);

printf("Enter c and d where c + id is the second complex number.\n");

printf("c = ");

scanf("%d", &b.real);

printf("d = ");

scanf("%d", &b.img);

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 65

c.real = a.real + b.real;

c.img = a.img + b.img;

if ( c.img >= 0 )

printf("Sum of two complex numbers = %d + %di\n",c.real,c.img);

else

printf("Sum of two complex numbers = %d %di\n",c.real,c.img);

return 0;

}

c program to print date

This c program prints current system date. To print date we will use getdate function.

C programming code

#include<stdio.h>

#include<conio.h>

#include<dos.h>

main()

{

struct date d;

getdate(&d);

printf("Current system date is %d/%d/%d",d.da_day,d.da_mon,d.da_year);

getch();

return 0;

}

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 66

Output of program

c program to get ip address

This c program prints ip (internet protocol) address of your computer, system function is used

to execute the command ipconfig which prints ip address, subnet mask and default gateway.

The code given below works for Windows xp and Windows 7. If you are using turbo c

compiler then execute program from folder, it may not work when you are working in

compiler and press Ctrl+F9 to run your program.

C programming code

#include<stdlib.h>

main()

{

system("C:\\Windows\\System32\\ipconfig");

system("pause");

return 0;

}

IP address program executable.

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 67

Output of program: ( In Windows XP )

C program to shutdown or turn off

computer

C Program to shutdown your computer: This program turn off i.e shutdown your computer

system. Firstly it will asks you to shutdown your computer if you press 'y' the your computer

will shutdown in 30 seconds, system function of "stdlib.h" is used to run an executable file

shutdown.exe which is present in C:\WINDOWS\system32 in Windows XP. You can use

various options while executing shutdown.exe for example -s option shutdown the computer

after 30 seconds, if you wish to shutdown immediately then you can write "shutdown -s -t 0"

as an argument to system function. If you wish to restart your computer then you can write

"shutdown -r".

If you are using Turbo C Compiler then execute your file from folder. Press F9 to build your

executable file from source program. When you run from within the compiler by pressing

Ctrl+F9 it may not work.

C programming code for Windows XP

#include <stdio.h>

#include <stdlib.h>

main()

{

char ch;

printf("Do you want to shutdown your computer now (y/n)\n");

Common C Programs

Raghudathesh G P Asst Prof GMIT DVG Page 68

scanf("%c",&ch);

if (ch == 'y' || ch == 'Y')

system("C:\\WINDOWS\\System32\\shutdown -s");

return 0;

}

C programming code for Windows 7

#include <stdio.h>

#include <stdlib.h>

main()

{

char ch;

printf("Do you want to shutdown your computer now (y/n)\n");

scanf("%c",&ch);

if (ch == 'y' || ch == 'Y')

system("C:\\WINDOWS\\System32\\shutdown /s");

return 0;

}

To shutdown immediately use "C:\\WINDOWS\\System32\\ shutdown /s /t 0". To restart use

/r instead of /s.

C programming code for Ubuntu Linux

#include <stdio.h>

int main() {

system("shutdown -P now");

return 0;

}

You need to be logged in as root user for above program to execute otherwise you will get

the message shutdown: Need to be root, now specifies that you want to shutdown

immediately. '-P' option specifes you want to power off your machine. You can specify

minutes as:

shutdown -P "number of minutes"

For more help or options type at terminal: man shutdown.