c Programs

download c Programs

of 103

description

c programs with all the basic programs to high level pattern printing programs

Transcript of c Programs

  • 1. Hello world:

    C hello world program: c programming language code to print hello world. This program

    prints hello world, printf library function is used to display text on screen, '\n' places cursor

    on the beginning of next line, stdio.h header file contains declaration of printf function. The

    code will work on all operating systems may be its Linux, Mac or any other and compilers.

    To learn a programming language you must start writing programs in it and may be your

    first c code while learning programming.

    Hello world in C language//C hello world example#include

    int main(){ printf("Hello world\n"); return 0;}

    Purpose of Hello world program may be to say hello to people or the users of your software

    or application.

    Output of program:

  • 2. C program print integer

    This c program first inputs an integer and then prints it. Input is done using scanf function

    and number is printed on screen using printf.

    C programming code#include

    int main(){ int a;

    printf("Enter an integer\n"); scanf("%d", &a);

    printf("Integer that you have entered is %d\n", a);

    return 0;}

    Download integer program.

    Output of program:

    In c language we have data type for different types of data, for integer data it is int, for

    character date char, for floating point data it's float and so on.

  • 3. C program to add two numbers

    C program to add two numbers: This c language program perform the basic arithmetic

    operation of addition on two numbers and then prints the sum on the screen. For example if

    the user entered two numbers as 5, 6 then 11 (5 + 6) will be printed on the screen.

    C programming code#include

    int main(){ int a, b, c;

    printf("Enter two numbers to add\n"); scanf("%d%d",&a,&b);

    c = a + b;

    printf("Sum of entered numbers = %d\n",c);

    return 0;}

    Output of program:

    Addition without using third variable#include

    main(){ int a = 1, b = 2;

    /* Storing result of addition in variable a */

    a = a + b;

    /* Not recommended because original value of a is lost * and you may be using it somewhere in code considering it * as it was entered by the user. */

  • printf("Sum of a and b = %d\n", a);

    return 0;}

    C program to add two numbers repeatedly#include

    main(){ int a, b, c; char ch;

    while(1) { printf("Enter values of a and b\n"); scanf("%d%d",&a,&b);

    c = a + b;

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

    printf("Do you wish to add more numbers(y/n)\n"); scanf(" %c",&ch);

    if ( ch == 'y' || ch == 'Y' ) continue; else break; }

    return 0;}

    Adding numbers in c using function#include

    long addition(long, long);

    main(){ long first, second, sum;

    scanf("%ld%ld", &first, &second);

    sum = addition(first, second);

    printf("%ld\n", sum);

    return 0;}

    long addition(long a, long b){ long result;

  • result = a + b;

    return result;}

    We have used long data type as it can handle large numbers, if you want to add still larger

    numbers which doesn't fit in long range then use array, string or other data structure.

    4. C program to check odd or even

    c program to check odd or even: We will determine whether a number is odd or even by

    using different methods all are provided with a code in c language. As you have study in

    mathematics that in decimal number system even numbers are divisible by 2 while odd are

    not so we may use modulus operator(%) which returns remainder, For example 4%3 gives 1

    ( remainder when four is divided by three). Even numbers are of the form 2*p and odd are

    of the form (2*p+1) where p is is an integer.

    C program to check odd or even using modulus operator#include

    main(){ int n;

    printf("Enter an integer\n"); scanf("%d",&n);

    if ( n%2 == 0 ) printf("Even\n"); else printf("Odd\n");

    return 0;}

    We can use bitwise AND (&) operator to check odd or even, as an example consider binary

    of 7 (0111) when we perform 7 & 1 the result will be one and you may observe that the least

    significant bit of every odd number is 1, so ( odd_number & 1 ) will be one always and also (

    even_number & 1 ) is zero.

    C program to check odd or even using bitwise operator#include

  • main(){ int n;

    printf("Enter an integer\n"); scanf("%d",&n);

    if ( n & 1 == 1 ) printf("Odd\n"); else printf("Even\n");

    return 0;}

    Find odd or even using conditional operator#include

    main(){ int n;

    printf("Input an integer\n"); scanf("%d",&n);

    n%2 == 0 ? printf("Even\n") : printf("Odd\n");

    return 0;}

    C program to check odd or even without using bitwise or modulus operator#include

    main(){ int n;

    printf("Enter an integer\n"); scanf("%d",&n);

    if ( (n/2)*2 == n ) printf("Even\n"); else printf("Odd\n");

    return 0;}

    In c programming language when we divide two integers we get an integer result, For

    example the result of 7/3 will be 2.So we can take advantage of this and may use it to find

    whether the number is odd or even. Consider an integer n we can first divide by 2 and then

    multiply it by 2 if the result is the original number then the number is even otherwise the

  • number is odd. For example 11/2 = 5, 5*2 = 10 ( which is not equal to eleven), now consider

    12/2 = 6 and 6 *2 = 12 ( same as original number). These are some logic which may help you

    in finding if a number is odd or not.

    5. C program to perform addition, subtraction, multiplication and division

    C program to perform basic arithmetic operations which are addition, subtraction,

    multiplication and division of two numbers. Numbers are assumed to be integers and will be

    entered by the user.

    C programming code#include

    int main(){ int first, second, add, subtract, multiply; float divide;

    printf("Enter two integers\n"); scanf("%d%d", &first, &second);

    add = first + second; subtract = first - second; multiply = first * second; divide = first / (float)second; //typecasting

    printf("Sum = %d\n",add); printf("Difference = %d\n",subtract); printf("Multiplication = %d\n",multiply); printf("Division = %.2f\n",divide);

    return 0;}

    Download Arithmetic operations program.

    Output of program:

  • In c language when we divide two integers we get integer result for example 5/2 evaluates to

    2. As a general rule integer/integer = integer and float/integer = float or integer/float =

    float. So we convert denominator to float in our program, you may also write float in

    numerator. This explicit conversion is known as typecasting.

    6. C program to check whether input alphabet is a vowel or not

    This code checks whether an input alphabet is a vowel or not. Both lower-case and upper-

    case are checked.

    C programming code#include

    int 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;}

    Output of program:

    Check vowel using switch statement#include

    int main(){ char ch;

    printf("Input 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;}

    Function to check vowel

    int check_vowel(char a){ if (a >= 'A' && a

  • 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;}

    Download Leap year program.

    Output of program:

    Please read the leap year article at Wikipedia, it will help you to understand the program.

    This code is based on Gregorian Calendar.

    8. 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

    int 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;}

    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.

    Output of program:

    Add digits using recursion#include

    int add_digits(int);

    int main(){ int n, result;

    scanf("%d", &n);

    result = add_digits(n);

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

    return 0;}

    int add_digits(int n) { static int sum = 0;

    if (n == 0) { return 0; }

  • sum = n%10 + add_digits(n/10);

    return sum;}

    Static variable sum is used and is initialized to 0, it' value will persists after function calls i.e.

    it is initialized only once when a first call to function is made.

    9. 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 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 loopHere we find factorial using for loop.

    #include

    int main(){ int c, n, fact = 1;

    printf("Enter a number to calculate it's factorial\n"); scanf("%d", &n);

    for (c = 1; c

  • long factorial(int);

    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

  • }Recursion is a technique in which a function calls itself, for example in above code factorial

    function is calling itself. To solve a problem using recursion you must first express its

    solution in recursive form.

    10. 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

    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;}

    Output of program:

    C program to find hcf and lcm using recursion#include

  • 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 a, long b) { if (b == 0) { return a; } else { return gcd(b, a % b); }}

    C program to find hcf and lcm using function#include

    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;}

    11. Decimal to binary conversion

    C programming code#include

    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");

    return 0;}

    Output of program:

    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 #include

    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;}

    Memory is allocated dynamically because we can't return a pointer to a local variable (character

    array in this case). If we return a pointer to local variable then program may crash or we get

    incorrect result.

  • 12. 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

    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){ 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

  • return ( result );}

    Output of program:

    13. C program to add n numbers

    This c program add n numbers which will be entered by the user. Firstly user will enter a

    number indicating how many numbers user wishes to add and then user will enter n

    numbers. In the first c program to add numbers we are not using an array, and using

    array in the second code.

    C programming code#include

    int main(){ int n, sum = 0, c, value;

    printf("Enter the number of integers you want to add\n"); scanf("%d", &n);

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

    for (c = 1; c

  • Output of program:

    C programming code using array#include

    int main(){ int n, sum = 0, c, array[100];

    scanf("%d", &n);

    for (c = 0; c < n; c++) { scanf("%d", &array[c]); sum = sum + array[c]; }

    printf("Sum = %d\n",sum);

    return 0;}

    14. 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 of two numbers in c#include

    int main(){ int x, y, 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);

    temp = x; x = y; y = temp;

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

    return 0;}

    Output of program:

    Swapping of two numbers without third variableYou can also swap two numbers without using temp or temporary or third variable. In that

    case c program will be as shown :-

    #include

    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

    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;

    temp = *b; *b = *a; *a = temp;

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

    return 0;}

    Swapping numbers using call by referenceIn this method we will make a function to swap numbers.

    #include

    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

    int main(){ int x, y;

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

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

    x = x ^ y; y = x ^ y; x = x ^ y;

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

    return 0;}

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

    particular order either in ascending order or in descending.

    15. 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 or invert

    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

    int 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:

    16. 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

    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 algorithm1. 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

    int 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;}

    Output of program:

    17. 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.

    *

    ***

    *****

    *******

    *********

    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

    int 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

  • printf("Enter number of rows\n"); scanf("%d",&n);

    for ( c = 1 ; c

  • printf("*");

    if ( c > 1 && count < c) { printf("A"); count++; } }

    printf("\n"); space--; count = 1; } return 0;}

    Pattern:

    1

    232

    34543

    4567654

    567898765

    C program:

    #include

    main(){ int n, c, d, num = 1, space;

    scanf("%d",&n);

    space = n - 1;

    for ( d = 1 ; d

  • num--; for ( c = 1 ; c < d ; c++) { printf("%d", num); num--; } printf("\n");

    }

    return 0;}

    18. 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

    int main(){ int n, c, k, space = 1;

    printf("Enter number of rows\n"); scanf("%d", &n);

    space = n - 1;

    for (k = 1; k

  • }

    space = 1;

    for (k = 1; k

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

    For example 540 = 22*33*51

    Prime number program in c language#include

    int 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"); }

    for ( count = 2 ; count

  • C program for prime number or not#include

    main(){ int n, c = 2;

    printf("Enter a number to check if it is prime\n"); scanf("%d",&n);

    for ( c = 2 ; c

  • if ( c == a ) return 1;}

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

    method.

    for ( c = 2 ; c

  • Output of program:

    21. C program to generate and print armstrong numbers

    Armstrong number in c: This program prints armstrong number. In our program we ask the

    user to enter a number and then we use a loop from one to the entered number and check if

    it is an armstrong number and if it is then the number is printed on the screen. Remember 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 + 73 + 13 = 371. Some other

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

    C programming code#include

    int main(){ int r; long number = 0, c, sum = 0, temp;

    printf("Enter an integer upto which you want to find armstrong numbers\n"); scanf("%ld",&number);

    printf("Following armstrong numbers are found from 1 to %ld\n",number);

    for( c = 1 ; c

  • Output of program:

    22. 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 numbers 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

    int 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

  • Output of program:

    Fibonacci series program in c using recursion#include

    int Fibonacci(int);

    main(){ int n, i = 0, c;

    scanf("%d",&n);

    printf("Fibonacci series\n");

    for ( c = 1 ; c

  • 23. C program to print Floyd's triangle

    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

    int 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

  • 24. 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

    1 1

    1 2 1

    1 3 3 1

    Pascal triangle in c#include

    long factorial(int);

    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

  • Output of program:

    25. C program to add two numbers using pointers

    This program performs addition of two numbers using pointers. In our program we have two

    two integer variables x, y and two pointer variables p and q. Firstly we assign the addresses of x

    and y to p and q respectively and then assign the sum of x and y to variable sum. Note that & is

    address of operator and * is value at address operator.

    C programming code#include

    int main(){ int first, second, *p, *q, sum;

    printf("Enter two integers to add\n"); scanf("%d%d", &first, &second);

    p = &first; q = &second;

    sum = *p + *q;

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

    return 0;}

    Output of program:

  • 26. 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

    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 %d and it's value is %d.\n",location, maximum); return 0;}

    Output of program:

    C programming code using pointers

  • #include

    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 found at location %ld and it's value is %ld.\n",location, *maximum); return 0;}

    The complexity of above code is O(n) as the time used depends on the size of input array or

    in other words time to find maximum increases linearly as array size grows.

    27. C program to find minimum element in array

    C code to find minimum or smallest element present in an array. It also prints the location

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

    (see both the codes).

    C programming code#include

    int main(){ int array[100], minimum, 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]);

  • minimum = array[0];

    for ( c = 1 ; c < size ; c++ ) { if ( array[c] < minimum ) { minimum = array[c]; location = c+1; } }

    printf("Minimum element is present at location %d and it's value is %d.\n", location, minimum); return 0;}

    Output of program:

    C programming code using pointers#include

    int main(){ int array[100], *minimum, 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]);

    minimum = array; *minimum = *array;

    for ( c = 1 ; c < size ; c++ ) { if ( *(array+c) < *minimum ) { *minimum = *(array+c); location = c+1;

  • } }

    printf("Minimum element found at location %d and it's value is %d.\n",location, *minimum); return 0;}

    Our algorithm first assumes first element as minimum and then compare it with other

    elements if an element is smaller than it then it becomes the new minimum and this process

    is repeated till complete array is scanned.

    28. Linear search in c

    Linear search in c programming: The following code implements linear search (Searching

    algorithm) which is used to find whether a given number is present in an array and if it is

    present then at what location it occurs. It is also known as sequential search. It is very

    simple and works as follows: We keep on comparing each element with the element to

    search until the desired element is found or list ends. Linear search in c language

    for multiple occurrences and using function.

    Linear search c program#include

    int main(){ int array[100], search, c, n;

    printf("Enter the number of elements in array\n"); scanf("%d",&n);

    printf("Enter %d integer(s)\n", n);

    for (c = 0; c < n; c++) scanf("%d", &array[c]);

    printf("Enter the number to search\n"); scanf("%d", &search);

    for (c = 0; c < n; c++) { if (array[c] == search) /* if required element found */ { printf("%d is present at location %d.\n", search, c+1); break; } } if (c == n) printf("%d is not present in array.\n", search);

    return 0;}

  • Output of program:

    C program for binary search

    Linear search for multiple occurrencesIn the code below we will print all the locations at which required element is found and also

    the number of times it occur in the list.

    #include

    int main(){ int array[100], search, c, n, count = 0;

    printf("Enter the number of elements in array\n"); scanf("%d",&n);

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

    for ( c = 0 ; c < n ; c++ ) scanf("%d",&array[c]);

    printf("Enter the number to search\n"); scanf("%d",&search);

    for ( c = 0 ; c < n ; c++ ) { if ( array[c] == search ) { printf("%d is present at location %d.\n", search, c+1);

    count++; } } if ( count == 0 ) printf("%d is not present in array.\n", search); else printf("%d is present %d times in array.\n", search, count);

    return 0;

  • }Download Linear search multiple occurrence program.

    Output of code:

    C program for linear search using function#include

    int linear_search(int*, int, int);

    int main(){ int array[100], search, c, n, position;

    printf("Enter the number of elements in array\n"); scanf("%d",&n);

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

    for ( c = 0 ; c < n ; c++ ) scanf("%d", &array[c]);

    printf("Enter the number to search\n"); scanf("%d",&search);

    position = linear_search(array, n, search);

    if ( position == -1 ) printf("%d is not present in array.\n", search); else printf("%d is present at location %d.\n", search, position+1);

    return 0;}

  • int linear_search(int *pointer, int n, int find){ int c;

    for ( c = 0 ; c < n ; c++ ) { if ( *(pointer+c) == find ) return c; }

    return -1;}

    Time required to search an element using linear search algorithm depends on size of list. In

    best case element is present at beginning of list and in worst case element is present at the

    end. Time complexity of linear search is O(n).

    29. C program for binary search

    C program for binary search: This code implements binary search in c language. It can only

    be used for sorted arrays, but it's fast as compared to linear search. If you wish to use binary

    search on an array which is not sorted then you must sort it using some sorting technique

    say merge sort and then use binary search algorithm to find the desired element in the list.

    If the element to be searched is found then its position is printed.

    The code below assumes that the input numbers are in ascending order.

    C programming code for binary search#include

    int main(){ int c, first, last, middle, n, search, array[100];

    printf("Enter number of elements\n"); scanf("%d",&n);

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

    for ( c = 0 ; c < n ; c++ ) scanf("%d",&array[c]);

    printf("Enter value to find\n"); scanf("%d",&search);

    first = 0; last = n - 1; middle = (first+last)/2;

  • while( first last ) printf("Not found! %d is not present in the list.\n", search);

    return 0; }

    C program for linear search

    Output of program:

    Binary search is faster than linear search but list should be sorted, hashing is faster than

    binary search and perform searches in constant time.

    30. 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

    int main(){ int n, c, d, a[100], b[100];

    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

    int main() { 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 #include

  • void reverse_array(int*, 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;}

    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);}

    Array is passed to function and a new array is created and contents of passed array (in

    reverse order) are copied into it and finally contents of new array are copied into array

    passed to function.

    31. 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

    int 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");

    for (c = 0; c

  • Output of program:

    32. 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

    int 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;}

    Output of program:

    33. C program to merge two arrays

    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

    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;) { sorted[i] = b[k]; k++; i++; } } else { for (; i < m + n;) { sorted[i] = a[j]; j++; i++; } } }}

  • Output of program:

    If the arrays are not sorted then you can sort them first and then use the above merge

    function, another method is to merge them and then sort the array. Sorting two smaller

    arrays will take less time as compared to sorting a big array. Merging two sorted array is

    used in merge sort algorithm.

    34. C program for bubble sort

    C program for bubble sort: c programming code for bubble sort to sort numbers or arrange

    them in ascending order. You can easily modify it to print numbers in descending order.

    Bubble sort algorithm in c/* Bubble sort code */

    #include

    int main(){ int array[100], n, c, d, swap;

    printf("Enter number of elements\n"); scanf("%d", &n);

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

    for (c = 0; c < n; c++) scanf("%d", &array[c]);

  • for (c = 0 ; c < ( n - 1 ); c++) { for (d = 0 ; d < n - c - 1; d++) { if (array[d] > array[d+1]) /* For decreasing order use < */ { swap = array[d]; array[d] = array[d+1]; array[d+1] = swap; } } }

    printf("Sorted list in ascending order:\n");

    for ( c = 0 ; c < n ; c++ ) printf("%d\n", array[c]);

    return 0;}

    Output of program:

    Bubble sort in c language using function#include

    void bubble_sort(long [], long);

    int main(){ long array[100], n, c, d, swap;

    printf("Enter number of elements\n"); scanf("%ld", &n);

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

  • for (c = 0; c < n; c++) scanf("%ld", &array[c]);

    bubble_sort(array, n);

    printf("Sorted list in ascending order:\n");

    for ( c = 0 ; c < n ; c++ ) printf("%ld\n", array[c]);

    return 0;}

    void bubble_sort(long list[], long n){ long c, d, t;

    for (c = 0 ; c < ( n - 1 ); c++) { for (d = 0 ; d < n - c - 1; d++) { if (list[d] > list[d+1]) { /* Swapping */

    t = list[d]; list[d] = list[d+1]; list[d+1] = t; } } }}

    You can also sort strings using Bubble sort, it is less efficient as its average and worst case

    complexity is high, there are many other fast sorting algorithms.

    35. Insertion sort in c

    Insertion sort in c: c program for insertion sort to sort numbers. This code implements

    insertion sort algorithm to arrange numbers of an array in ascending order. With a little

    modification it will arrange numbers in descending order.

    Insertion sort algorithm implementation in c/* insertion sort ascending order */

    #include

    int main(){ int n, array[1000], c, d, t;

    printf("Enter number of elements\n"); scanf("%d", &n);

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

    for (c = 0; c < n; c++) { scanf("%d", &array[c]); }

    for (c = 1 ; c 0 && array[d] < array[d-1]) { t = array[d]; array[d] = array[d-1]; array[d-1] = t;

    d--; } }

    printf("Sorted list in ascending order:\n");

    for (c = 0; c

  • Selection sort algorithm implementation in c#include

    int main(){ int array[100], n, c, d, position, swap;

    printf("Enter number of elements\n"); scanf("%d", &n);

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

    for ( c = 0 ; c < n ; c++ ) scanf("%d", &array[c]);

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

    for ( d = c + 1 ; d < n ; d++ ) { if ( array[position] > array[d] ) position = d; } if ( position != c ) { swap = array[c]; array[c] = array[position]; array[position] = swap; } }

    printf("Sorted list in ascending order:\n");

    for ( c = 0 ; c < n ; c++ ) printf("%d\n", array[c]);

    return 0;}

  • Output of program:

    37. 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

    C programming code#include

  • int 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\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 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;}

    Output of program:

  • 38. Subtract matrices

    C code to subtract matrices of any order. This program finds difference between

    corresponding elements of two matrices and then print the resultant matrix.

    C programming code#include

    int main(){ int m, n, c, d, first[10][10], second[10][10], difference[10][10];

    printf("Enter the number of rows and columns of 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 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++) difference[c][d] = first[c][d] - second[c][d];

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

    for (c = 0; c < m; c++) { for (d = 0; d < n; d++) printf("%d\t",difference[c][d]);

    printf("\n"); }

    return 0;}

  • Output of program:

    39. 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

    int 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++ ) { 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:

    40. 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 multiply them in Mathematics.

    Matrix multiplication in c language#include

    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"); } }

    return 0;}

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

    Matrices are frequently used while doing programming and are used to represent graph

    data structure, in solving system of linear equations and many more. Lot of research is being

    done on how to multiply matrices using minimum number of operations. You can also

    implement it using pointers.

    41. 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

    int main(){ char array[20] = "Hello World";

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

    return 0;}

    To input a string we use scanf function.

    C programming code#include

  • int 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

    int 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.

    42. 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 #include

    int main(){ char a[100]; int length;

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

    length = strlen(a);

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

    return 0;}

  • 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 strlenC program to find length of a string using pointers.

    #include

    int 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 lengthint string_length(char *s){ int c = 0;

    while(*(s+c)) c++;

    return c;}

  • 43. C program to compare two strings

    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 #include

    int 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;}

    Output of program:

    C program to compare two strings without using strcmpHere 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 pointersIn this method we will make our own function to perform string comparison, we will use

    character pointers in our function to manipulate string.

    #include

    int compare_string(char*, char*);

    int 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;}

    44. 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#include

    main(){ char source[] = "C program"; char destination[50];

    strcpy(destination, source);

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

    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

    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';}

  • 45. 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 programming code#include #include

    int main(){ char a[100], b[100];

    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);

    return 0;}

    Output of program:

    String concatenation without strcat#include

    void concatenate_string(char*, char*);

    int 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) { *original = *add; add++; original++; } *original = '\0';}

    46. 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 #include

    int 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;}

  • Output of program:

    /* Second method */

    C program to reverse a string using pointers: Now we will invert string using pointers or without using library function strrev.

    #include

    int string_length(char*);void reverse(char*);

    main(){ char string[100];

    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 #include

    void reverse(char*, int, int);

    int main(){ char a[100];

    gets(a);

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

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

    return 0;}

    void reverse(char *x, int begin, int end){ char c;

    if (begin >= end) return;

    c = *(x+begin); *(x+begin) = *(x+end); *(x+end) = c;

    reverse(x, ++begin, --end);}

    In recursion method we swap characters at the begin and at the end and then move towards

    the middle of the string. This method is inefficient due to repeated function calls but useful

    in practicing recursion.

  • 47. 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 #include

    int main(){ char a[100], b[100];

    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;}

    Output of program:

    Palindrome number in c#include

    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 #include

    int 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

    int is_palindrome(char*);void copy_string(char*, char*);void reverse_string(char*);int string_length(char*);int compare_string(char*, char*);

    int 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){ 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++ ) { 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;}

    Pointers are used in functions, you can develop your code without using pointers.

  • 48. 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 #include

    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++; } }

    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#include#include#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) { 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
  • 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 #include #include

    char* substring(char*, int, 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

  • while (length
  • 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

  • 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

    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;}

    If you want you can copy blank into text string so that original string is modified.

    Output of program:

    C programming code using pointers#include #include #include #define SPACE ' '

    int 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++; } c++; } *(start+d) = '\0';

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

    free(start);

    return 0;}

    52. strlwr, strupr in c

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

    strlwr in c#include #include

    int main(){ char string[] = "Strlwr in C";

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

    return 0;}

    strupr in c

  • #include #include

    int main(){ char string[] = "strupr in c";

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

    return 0;}

    Change string to upper case without strupr#include

    void upper_string(char*);

    int 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

  • 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

  • }Output of program:

    54. 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 #include

    int main(){ char string[100]; int c = 0, count[26] = {0};

    printf("Enter a string\n"); gets(string);

    while ( string[c] != '\0' ) { /* Considering characters from 'a' to 'z' only */

    if ( string[c] >= 'a' && string[c]

  • printf("%c occurs %d times in the entered string.\n",c+'a',count[c]); }

    return 0;}

    Explanation of "count[string[c]-'a']++", suppose input string begins with 'a' so c is 0 initially

    and string[0] = 'a' and string[0]-'a' = 0 and we increment count[0] i.e. a has occurred one

    time and repeat this till complete string is scanned.

    Output of program:

    Did you notice that string in the output of program contains every alphabet at least once.

    55. 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 appear in the strings and then comparing their corresponding counts.

    C anagram programming code#include

    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;}

  • Output of program:

    56. C program to read a file

    C program to read a file: This program reads a file entered by the user and displays its

    contents on the screen, fopen function is used to open a file it returns a pointer to structure

    FILE. FILE is a predefined structure in stdio.h . If the file is successfully opened then fopen

    returns a pointer to file and if it is unable to open a file then it returns NULL. fgetc function

    returns a character which is read from the file and fclose function closes the file. Opening a

    file means we bring file from disk to ram to perform operations on it. The file must be

    present in the directory in which the executable file of this code sis present.

    C program to open a fileC programming code to open a file and to print it contents on screen.

    #include #include

    int main(){ char ch, file_name[25]; FILE *fp;

    printf("Enter the name of file you wish to see\n"); gets(file_name);

    fp = fopen(file_name,"r"); // read mode

    if( fp == NULL ) { perror("Error while opening the file.\n"); exit(EXIT_FAILURE); }

    printf("The contents of %s file are :\n", file_name);

    while( ( ch = fgetc(fp) ) != EOF ) printf("%c",ch);

    fclose(fp); return 0;

  • }Output of program:

    There are blank lines present at end of file. In our program we have opened only one file but

    you can open multiple files in a single program and in different modes as desired. File

    handling is very important when we wish to store data permanently on a storage device. All

    variables and data of program is lost when program exits so if that data is required later we

    need to use files.

    57. C program to copy files

    C program to copy files: This program copies a file, firstly you will specify the file to copy

    and then you will enter the name of target file, You will have to mention the extension of file

    also. We will open the file that we wish to copy in read mode and target file in write mode.

    C programming code#include #include

    int main(){ char ch, source_file[20], target_file[20]; FILE *source, *target;

    printf("Enter name of file to copy\n"); gets(source_file);

    source = fopen(source_file, "r");

    if( source == NULL ) { printf("Press any key to exit...\n"); exit(EXIT_FAILURE); }

    printf("Enter name of target file\n"); gets(target_file);

  • target = fopen(target_file, "w");

    if( target == NULL ) { fclose(source); printf("Press any key to exit...\n"); exit(EXIT_FAILURE); }

    while( ( ch = fgetc(source) ) != EOF ) fputc(ch, target);

    printf("File copied successfully.\n");

    fclose(source); fclose(target);

    return 0;}

    Output of program:

    58. C program to merge two files

    This c program merges two files and stores their contents in another file. The files which are

    to be merged are opened in read mode and the file which contains content of both the files is

    opened in write mode. To merge two files first we open a file and read it character by

    character and store the read contents in another file then we read the contents of another

    file and store it in file, we read two files until EOF (end of file) is reached.

    C programming code#include #include

    int main(){ FILE *fs1, *fs2, *ft;

    char ch, file1[20], file2[20], file3[20];

    printf("Enter name of first file\n"); gets(file1);

    printf("Enter name of second file\n");

  • gets(file2);

    printf("Enter name of file which will store contents of two files\n"); gets(file3);

    fs1 = fopen(file1,"r"); fs2 = fopen(file2,"r");

    if( fs1 == NULL || fs2 == NULL ) { perror("Error "); printf("Press any key to exit...\n"); getch(); exit(EXIT_FAILURE); }

    ft = fopen(file3,"w");

    if( ft == NULL ) { perror("Error "); printf("Press any key to exit...\n"); exit(EXIT_FAILURE); }

    while( ( ch = fgetc(fs1) ) != EOF ) fputc(ch,ft);

    while( ( ch = fgetc(fs2) ) != EOF ) fputc(ch,ft);

    printf("Two files were merged into %s file successfully.\n",file3);

    fclose(fs1); fclose(fs2); fclose(ft);

    return 0;}

    Output of program:

  • 59. C program to list files in directory

    This program list all files present in a directory/folder in which this executable file is

    present. For example if this executable file is present in C:\\TC\\BIN then it will lists all the

    files present in C:\\TC\\BIN.

    C programming code(Turbo C compiler only)#include #include #include

    int main(){ int done; struct ffblk a;

    printf("Press any key to view the files in the current directory\n");

    getch();

    done = findfirst("*.*",&a,0);

    while(!done) { printf("%s\n",a.ff_name); done = findnext(&a); }

    getch(); return 0;}

    Obviously you will get a different output when you will execute this file on your computer.

    60. c program to delete a file

    This c program deletes a file which is entered by the user, the file to be deleted should be

    present in the directory in which the executable file of this program is present. Extension of

    the file should also be entered, remove macro is used to delete the file. If there is an error in

    deleting the file then an error will be displayed using perror function.

    C programming code#include

    main(){ int status; char file_name[25];

    printf("Enter the name of file you wish to delete\n"); gets(file_name);

  • status = remove(file_name);

    if( status == 0 ) printf("%s file deleted successfully.\n",file_name); else { printf("Unable to delete the file\n"); perror("Error"); }

    return 0;}

    Output of program:

    Deleted file doesn't go to trash or recycle bin so you may not be able to recover it. Deleted

    files can be recovered using special recovery software if the files are not overwritten on the

    storage medium.

    61. C program to generate random numbers

    This c program generates random numbers using random function, randomize function is

    used to initialize random number generator. If you don't use randomize function then you

    will get same random numbers each time you run the program.

    C programming code using rand#include #include

    int main() { int c, n;

    printf("Ten random numbers in [1,100]\n");

    for (c = 1; c

  • }C programming code using random function(Turbo C compiler only)#include#include#include

    main(){ int n, max, num, c;

    printf("Enter the number of random numbers you want "); scanf("%d",&n);

    printf("Enter the maximum value of random number "); scanf("%d",&max);

    printf("%d random numbers from 0 to %d are :-\n",n,max); randomize();

    for ( c = 1 ; c

  • int 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);

    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;}

    Output of c program to add two complex numbers is shown in image below:

    63. C program to print date

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

    C programming code (Works in Turbo C only)#include #include #include

    int 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;}

    This code works in Turbo C only because it supports dos.h header file.

    64. 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

    int main(){ system("C:\\Windows\\System32\\ipconfig");

    return 0;}

    Output of program: ( In Windows 7)

    65. 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 #include

    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;}

    C programming code for Windows 7#include #include

    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

    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 specifies 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.