SlideShare a Scribd company logo
1 of 98
Hello world in C language
//C hello world example
#include <stdio.h>
int main()
{
printf("Hello worldn");
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:
Download Hello world program.
Hello world program in c
We may store "hello world" in a character array as a string constant and then print it.
#include <stdio.h>
int main()
{
char string[] = "Hello World";
printf("%sn", string);
return 0;
}
Don't worry if you didn't understand above code as you may not be familiar with arrays yet.
Printing hello world indefinitely
Using loop we can print "Hello World" a desired number of time or indefinitely.
#include <stdio.h>
#define TRUE 1
int main()
{
while (TRUE)
{
printf("Hello Worldn");
}
return 0;
}
While loop will execute forever until it is terminated, to terminate press (Ctrl + C) in
windows operating system
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 <stdio.h>
int main()
{
int a;
printf("Enter an integern");
scanf("%d", &a);
printf("Integer that you have entered is %dn", 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.
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<stdio.h>
int main()
{
int a, b, c;
printf("Enter two numbers to addn");
scanf("%d%d",&a,&b);
c = a + b;
printf("Sum of entered numbers = %dn",c);
return 0;
}
Download Add numbers program executable.
Output of program:
Addition without using third variable
#include<stdio.h>
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 = %dn", a);
return 0;
}
C program to add two numbers repeatedly
#include<stdio.h>
main()
{
int a, b, c;
char ch;
while(1)
{
printf("Enter values of a and bn");
scanf("%d%d",&a,&b);
c = a + b;
printf("a + b = %dn", 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<stdio.h>
long addition(long, long);
main()
{
long first, second, sum;
scanf("%ld%ld", &first, &second);
sum = addition(first, second);
printf("%ldn", 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.
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<stdio.h>
main()
{
int n;
printf("Enter an integern");
scanf("%d",&n);
if ( n%2 == 0 )
printf("Evenn");
else
printf("Oddn");
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<stdio.h>
main()
{
int n;
printf("Enter an integern");
scanf("%d",&n);
if ( n & 1 == 1 )
printf("Oddn");
else
printf("Evenn");
return 0;
}
Find odd or even using conditional operator
#include<stdio.h>
main()
{
int n;
printf("Input an integern");
scanf("%d",&n);
n%2 == 0 ? printf("Evenn") : printf("Oddn");
return 0;
}
C program to check odd or even without using bitwise or
modulus operator
#include<stdio.h>
main()
{
int n;
printf("Enter an integern");
scanf("%d",&n);
if ( (n/2)*2 == n )
printf("Evenn");
else
printf("Oddn");
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.

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 <stdio.h>
int main()
{
int first, second, add, subtract, multiply;
float divide;
printf("Enter two integersn");
scanf("%d%d", &first, &second);
add = first + second;
subtract = first - second;
multiply = first * second;
divide = first / (float)second; //typecasting
printf("Sum = %dn",add);
printf("Difference = %dn",subtract);
printf("Multiplication = %dn",multiply);
printf("Division = %.2fn",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.
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 <stdio.h>
int main()
{
char ch;
printf("Enter a charactern");
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 <stdio.h>
int main()
{
char ch;
printf("Input a charactern");
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 <= 'Z')
a = a + 'a' - 'A'; /* Converting to lower case or use a = a + 32
*/
if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u')
return 1;
return 0;
}
This function can also be used to check if a character is a consonant or not, if it's not a vowel
then it will be a consonant, but make sure that the character is an alphabet not a special
character.
C program to check leap year
C program to check leap year: c code to check leap year, year will be entered by the user.
C programming code
#include <stdio.h>
int main()
{
int year;
printf("Enter a year to check if it is a leap yearn");
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;
}
Download Leap year program.
Output of program:
Please read the leap year article at Wikipedia, it will help yo
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>
int main()
{
int n, sum = 0, remainder;
printf("Enter an integern");
scanf("%d",&n);
while(n != 0)
{
remainder = n % 10;
sum = sum + remainder;
n = n / 10;
}
printf("Sum of digits of entered number = %dn",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.
Download Add digits program.
Output of program:
Add digits using recursion
#include <stdio.h>
int add_digits(int);
int main()
{
int n, result;
scanf("%d", &n);
result = add_digits(n);
printf("%dn", 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.

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 loop
Here we find factorial using for loop.
#include <stdio.h>
int main()
{
int c, n, fact = 1;
printf("Enter a number to calculate it's factorialn");
scanf("%d", &n);
for (c = 1; c <= n; c++)
fact = fact * c;
printf("Factorial of %d = %dn", n, fact);
return 0;
}
Download Factorial program.
Output of code:
Factorial program in c using function
#include <stdio.h>
long factorial(int);
int main()
{
int number;
long fact = 1;
printf("Enter a number to calculate it's factorialn");
scanf("%d", &number);
printf("%d! = %ldn", 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);
int main()
{
int n;
long f;
printf("Enter an integer to find factorialn");
scanf("%d", &n);
if (n < 0)
printf("Negative integers are not allowed.n");
else
{
f = factorial(n);
printf("%d! = %ldn", n, f);
}
return 0;
}
long factorial(int n)
{
if (n == 0)
return 1;
else
return(n * factorial(n-1));
}
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.

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 integersn");
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 = %dn", x, y, gcd);
printf("Least common multiple of %d and %d = %dn", x, y, lcm);
return 0;
}
Download HCF and LCM program.
Output of program:
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 integersn");
scanf("%ld%ld", &x, &y);
hcf = gcd(x, y);
lcm = (x*y)/hcf;
printf("Greatest common divisor of %ld and %ld = %ldn", x, y, hcf);
printf("Least common multiple of %ld and %ld = %ldn", 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 integersn");
scanf("%ld%ld", &x, &y);
hcf = gcd(x, y);
lcm = (x*y)/hcf;
printf("Greatest common divisor of %ld and %ld = %ldn", x, y, hcf);
printf("Least common multiple of %ld and %ld = %ldn", 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;
}
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 systemn");
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;
}
Download Decimal binary program.
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 <stdio.h>
#include <stdlib.h>
char *decimal_to_binary(int);
main()
{
int n, c, k;
char *pointer;
printf("Enter an integer in decimal number systemn");
scanf("%d",&n);
pointer = decimal_to_binary(n);
printf("Binary string of %d is: %sn", 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 lo
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 rn");
scanf("%d%d",&n,&r);
ncr = find_ncr(n, r);
npr = find_npr(n, r);
printf("%dC%d = %ldn", n, r, ncr);
printf("%dP%d = %ldn", 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 <= n ; c++ )
result = result*c;
return ( result );
}
Download NCR and NPR program.
Output of program:
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 <stdio.h>
int main()
{
int n, sum = 0, c, value;
printf("Enter the number of integers you want to addn");
scanf("%d", &n);
printf("Enter %d integersn",n);
for (c = 1; c <= n; c++)
{
scanf("%d",&value);
sum = sum + value;
}
printf("Sum of entered integers = %dn",sum);
return 0;
}
Download Add n numbers program.
Output of program:
C programming code using array
#include <stdio.h>
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 = %dn",sum);
return 0;
}
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 <stdio.h>
int main()
{
int x, y, temp;
printf("Enter the value of x and yn");
scanf("%d%d", &x, &y);
printf("Before Swappingnx = %dny = %dn",x,y);
temp = x;
x = y;
y = temp;
printf("After Swappingnx = %dny = %dn",x,y);
return 0;
}
Download Swap numbers program.
Output of program:
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 swapn");
scanf("%d%d", &a, &b);
a = a + b;
b = a - b;
a = a - b;
printf("a = %dnb = %dn",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 yn");
scanf("%d%d", &x, &y);
printf("Before Swappingnx = %dny = %dn", x, y);
a = &x;
b = &y;
temp = *b;
*b = *a;
*a = temp;
printf("After Swappingnx = %dny = %dn", 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 yn");
scanf("%d%d",&x,&y);
printf("Before Swappingnx = %dny = %dn", x, y);
swap(&x, &y);
printf("After Swappingnx = %dny = %dn", 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 = %dny = %dn", x, y);
x = x ^ y;
y = x ^ y;
x = x ^ y;
printf("x = %dny = %dn", 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.
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 <stdio.h>
int main()
{
int n, reverse = 0;
printf("Enter a number to reversen");
scanf("%d",&n);
while (n != 0)
{
reverse = reverse * 10;
reverse = reverse + n%10;
n = n/10;
}
printf("Reverse of entered number is = %dn", reverse);
return 0;
}
Download Reverse number program.
Output of program:
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 <stdio.h>
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 <= n ; row++ )
{
for ( c = 1 ; c < temp ; c++ )
printf(" ");
temp--;
for ( c = 1 ; c <= 2*row - 1 ; c++ )
printf("*");
printf("n");
}
return 0;
}
Download Stars pyramid program.
Output of program:
For more patterns or shapes on numbers and characters see comments below and also see
codes on following pages:
Floyd triangle
Pascal triangle
Consider the pattern
*
**
***
****
*****
to print above pattern see the code below:
#include <stdio.h>
int main()
{
int n, c, k;
printf("Enter number of rowsn");
scanf("%d",&n);
for ( c = 1 ; c <= n ; c++ )
{
for( k = 1 ; k <= c ; k++ )
printf("*");
printf("n");
}
return 0;
}
Using these examples you are in a better position to create your desired pattern for yourself.
Creating a pattern involves how to use nested loops properly, some pattern may involve
alphabets or other special characters. Key aspect is knowing how the characters in pattern
changes.
C pattern programs
Pattern:
*
*A*
*A*A*
*A*A*A*
C pattern program of stars and alphabets:
#include<stdio.h>
main()
{
int n, c, k, space, count = 1;
printf("Enter number of rowsn");
scanf("%d",&n);
space = n;
for ( c = 1 ; c <= n ; c++)
{
for( k = 1 ; k < space ; k++)
printf(" ");
for ( k = 1 ; k <= c ; k++)
{
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<stdio.h>
main()
{
int n, c, d, num = 1, space;
scanf("%d",&n);
space = n - 1;
for ( d = 1 ; d <= n ; d++ )
{
num = d;
for ( c = 1 ; c <= space ; c++ )
printf(" ");
space--;
for ( c = 1 ; c <= d ; c++ )
{
printf("%d", num);
num++;
}
num--;
num--;
for ( c = 1 ; c < d ; c++)
{
printf("%d", num);
num--;
}
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 rowsn");
scanf("%d", &n);
space = n - 1;
for (k = 1; k <= n; k++)
{
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;
}
Download Diamond program.
Output of program:
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*33*51
Prime number program in c language
#include<stdio.h>
int main()
{
int n, i = 3, count, c;
printf("Enter the number of prime numbers requiredn");
scanf("%d",&n);
if ( n >= 1 )
{
printf("First %d prime numbers are :n",n);
printf("2n");
}
for ( count = 2 ; count <= n ; )
{
for ( c = 2 ; c <= i - 1 ; c++ )
{
if ( i%c == 0 )
break;
}
if ( c == i )
{
printf("%dn",i);
count++;
}
i++;
}
return 0;
}
Download Prime number program.
Output of program:
C program for prime number or not
#include<stdio.h>
main()
{
int n, c = 2;
printf("Enter a number to check if it is primen");
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>
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;
}
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 available.
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 + 73 + 13 = 371. Some other
armstrong numbers are: 0, 1, 153, 370, 407.
C programming code
#include <stdio.h>
int main()
{
int number, sum = 0, temp, remainder;
printf("Enter an integern");
scanf("%d",&number);
temp = number;
while( temp != 0 )
{
remainder = temp%10;
sum = sum + remainder*remainder*remainder;
temp = temp/10;
}
if ( number == sum )
printf("Entered number is an armstrong number.n");
else
printf("Entered number is not an armstrong number.n");
return 0;
}
Download Check Armstrong number program.
Output of program:
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 <stdio.h>
int main()
{
int r;
long number = 0, c, sum = 0, temp;
printf("Enter an integer upto which you want to find armstrong
numbersn");
scanf("%ld",&number);
printf("Following armstrong numbers are found from 1 to %ldn",number);
for( c = 1 ; c <= number ; c++ )
{
temp = c;
while( temp != 0 )
{
r = temp%10;
sum = sum + r*r*r;
temp = temp/10;
}
if ( c == sum )
printf("%ldn", c);
sum = 0;
}
return 0;
}
Download Generate Armstrong numbers program.
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 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<stdio.h>
int main()
{
int n, first = 0, second = 1, next, c;
printf("Enter the number of termsn");
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("%dn",next);
}
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 seriesn");
for ( c = 1 ; c <= n ; c++ )
{
printf("%dn", 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) );
}
Recursion method is less efficient as it involves function calls which uses stack, also there are
chances of stack overflow if function is called frequently for calculating larger Fibonacci
numbers.
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 <stdio.h>
int main()
{
int n, i, c, a = 1;
printf("Enter the number of rows of Floyd's triangle to printn");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (c = 1; c <= i; c++)
{
printf("%d ",a);
a++;
}
printf("n");
}
return 0;
}
Download Floyd triangle program.
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
1 1
1 2 1
1 3 3 1
Pascal triangle in c
#include <stdio.h>
long factorial(int);
int main()
{
int i, n, c;
printf("Enter the number of rows you wish to see in pascal trianglen");
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 );
}
Download Pascal triangle program.
Output of program:
For more patterns or shapes on numbers and characters see codes on following pages:
Patterns programs
Floyd triangle

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 <stdio.h>
int main()
{
int first, second, *p, *q, sum;
printf("Enter two integers to addn");
scanf("%d%d", &first, &second);
p = &first;
q = &second;
sum = *p + *q;
printf("Sum of entered numbers = %dn",sum);
return 0;
}
Download Add integers using pointers program.
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 arrayn");
scanf("%d", &size);
printf("Enter %d integersn", 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;
}
Download Maximum element in array program.
Output of program:
C programming code using pointers
#include <stdio.h>
int main()
{
long array[100], *maximum, size, c, location = 1;
printf("Enter the number of elements in arrayn");
scanf("%ld", &size);
printf("Enter %ld integersn", 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.
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 <stdio.h>
int main()
{
int array[100], minimum, size, c, location = 1;
printf("Enter the number of elements in arrayn");
scanf("%d",&size);
printf("Enter %d integersn", 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;
}
Download Minimum element in array program.
Output of program:
C programming code using pointers
#include <stdio.h>
int main()
{
int array[100], *minimum, size, c, location = 1;
printf("Enter the number of elements in arrayn");
scanf("%d",&size);
printf("Enter %d integersn", 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.

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 <stdio.h>
int main()
{
int array[100], search, c, n;
printf("Enter the number of elements in arrayn");
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 searchn");
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;
}
Download Linear search program.
Output of program:
C program for binary search
Linear search for multiple occurrences
In 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 <stdio.h>
int main()
{
int array[100], search, c, n, count = 0;
printf("Enter the number of elements in arrayn");
scanf("%d",&n);
printf("Enter %d numbersn", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d",&array[c]);
printf("Enter the number to searchn");
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 <stdio.h>
int linear_search(int*, int, int);
int main()
{
int array[100], search, c, n, position;
printf("Enter the number of elements in arrayn");
scanf("%d",&n);
printf("Enter %d numbersn", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d", &array[c]);
printf("Enter the number to searchn");
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).
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 <stdio.h>
int main()
{
int c, first, last, middle, n, search, array[100];
printf("Enter number of elementsn");
scanf("%d",&n);
printf("Enter %d integersn", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d",&array[c]);
printf("Enter value to findn");
scanf("%d",&search);
first = 0;
last = n - 1;
middle = (first+last)/2;
while( first <= last )
{
if ( array[middle] < search )
first = middle + 1;
else if ( array[middle] == search )
{
printf("%d found at location %d.n", search, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if ( first > last )
printf("Not found! %d is not present in the list.n", search);
return 0;
}
C program for linear search
Download Binary search program.
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.

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];
printf("Enter the number of elements in arrayn");
scanf("%d", &n);
printf("Enter the array elementsn");
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 isn");
for (c = 0; c < n; c++)
printf("%dn", a[c]);
return 0;
}
Download Reverse array program.
Output of program:
Reverse array by swapping (without using additional
memory)
#include <stdio.h>
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("%dn", array[c]);
}
return 0;
}
C program to reverse an array using pointers
#include <stdio.h>
#include <stdlib.h>
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 isn");
for ( c = 0 ; c < n ; c++ )
printf("%dn",*(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.
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>
int main()
{
int array[100], position, c, n, value;
printf("Enter number of elements in arrayn");
scanf("%d", &n);
printf("Enter %d elementsn", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
printf("Enter the location where you wish to insert an elementn");
scanf("%d", &position);
printf("Enter the value to insertn");
scanf("%d", &value);
for (c = n - 1; c >= position - 1; c--)
array[c+1] = array[c];
array[position-1] = value;
printf("Resultant array isn");
for (c = 0; c <= n; c++)
printf("%dn", array[c]);
return 0;
}
Download Insert element in array program.
Output of program:

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>
int main()
{
int array[100], position, c, n;
printf("Enter number of elements in arrayn");
scanf("%d", &n);
printf("Enter %d elementsn", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d", &array[c]);
printf("Enter the location where you wish to delete elementn");
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 isn");
for( c = 0 ; c < n - 1 ; c++ )
printf("%dn", array[c]);
}
return 0;
}
Download Delete element from array program.
Output of program:

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 <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 arrayn");
scanf("%d", &m);
printf("Input %d integersn", m);
for (c = 0; c < m; c++) {
scanf("%d", &a[c]);
}
printf("Input number of elements in second arrayn");
scanf("%d", &n);
printf("Input %d integersn", 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("%dn", 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++;
}
}
}
}
Download Merge arrays program.
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.

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 <stdio.h>
int main()
{
int array[100], n, c, d, swap;
printf("Enter number of elementsn");
scanf("%d", &n);
printf("Enter %d integersn", 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("%dn", array[c]);
return 0;
}
Download Bubble sort program.
Output of program:
Bubble sort in c language using function
#include <stdio.h>
void bubble_sort(long [], long);
int main()
{
long array[100], n, c, d, swap;
printf("Enter number of elementsn");
scanf("%ld", &n);
printf("Enter %ld integersn", 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("%ldn", 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.
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 <stdio.h>
int main()
{
int n, array[1000], c, d, t;
printf("Enter number of elementsn");
scanf("%d", &n);
printf("Enter %d integersn", n);
for (c = 0; c < n; c++) {
scanf("%d", &array[c]);
}
for (c = 1 ; c <= n - 1; c++) {
d = c;
while ( d > 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 <= n - 1; c++) {
printf("%dn", array[c]);
}
return 0;
}
Download Insertion sort program.
Output of program:
Selection sort in c
Selection sort in c: c program for selection sort to sort numbers. This code implements
selection sort algorithm to arrange numbers of an array in ascending order. With a little
modification it will arrange numbers in descending order.
Selection sort algorithm implementation in c
#include <stdio.h>
int main()
{
int array[100], n, c, d, position, swap;
printf("Enter number of elementsn");
scanf("%d", &n);
printf("Enter %d integersn", 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("%dn", array[c]);
return 0;
}
Download Selection sort program.
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
C programming code
#include <stdio.h>
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 matrixn");
scanf("%d%d", &m, &n);
printf("Enter the elements of first matrixn");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
scanf("%d", &first[c][d]);
printf("Enter the elements of second matrixn");
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("%dt", sum[c][d]);
printf("n");
}
return 0;
}
Download Add Matrix program.
Output of program:
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 <stdio.h>
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 matrixn");
scanf("%d%d", &m, &n);
printf("Enter the elements of first matrixn");
for (c = 0; c < m; c++)
for (d = 0 ; d < n; d++)
scanf("%d", &first[c][d]);
printf("Enter the elements of second matrixn");
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("%dt",difference[c][d]);
printf("n");
}
return 0;
}
Download Subtract matrices program.
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>
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("%dt",transpose[c][d]);
}
printf("n");
}
return 0;
}
Download Transpose Matrix program.
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
multiply them in Mathematics.
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 matrixn");
scanf("%d%d", &m, &n);
printf("Enter the elements of first matrixn");
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 matrixn");
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 matrixn");
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("%dt", multiply[c][d]);
printf("n");
}
}
return 0;
}
Download Matrix multiplication program.
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.
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>
int main()
{
char array[20] = "Hello World";
printf("%sn",array);
return 0;
}
To input a string we use scanf function.
C programming code
#include <stdio.h>
int main()
{
char array[100];
printf("Enter a stringn");
scanf("%s", array);
printf("You entered the string %sn",array);
return 0;
}
Input string containing spaces
#include <stdio.h>
int main()
{
char a[80];
gets(a);
printf("%sn", 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>
int main()
{
char a[100];
int length;
printf("Enter a string to calculate it's lengthn");
gets(a);
length = strlen(a);
printf("Length of entered string is = %dn",length);
return 0;
}
Download String length program.
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>
int main()
{
char array[100], *pointer;
int length = 0;
printf("Enter a stringn");
gets(array);
pointer = array;
while(*(pointer+length))
length++;
printf("Length of entered string = %dn",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
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>
int main()
{
char a[100], b[100];
printf("Enter the first stringn");
gets(a);
printf("Enter the second stringn");
gets(b);
if( strcmp(a,b) == 0 )
printf("Entered strings are equal.n");
else
printf("Entered strings are not equal.n");
return 0;
}
Download Compare Strings program.
Output of program:
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*);
int main()
{
char first[100], second[100], result;
printf("Enter first stringn");
gets(first);
printf("Enter second stringn");
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: %sn", source);
printf("Destination string: %sn", 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<stdio.h>
void copy_string(char*, char*);
main()
{
char source[100], target[100];
printf("Enter source stringn");
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 programming code
#include <stdio.h>
#include <string.h>
int main()
{
char a[100], b[100];
printf("Enter the first stringn");
gets(a);
printf("Enter the second stringn");
gets(b);
strcat(a,b);
printf("String obtained on concatenation is %sn",a);
return 0;
}
Download String Concatenation program.
Output of program:
String concatenation without strcat
#include <stdio.h>
void concatenate_string(char*, char*);
int main()
{
char original[100], add[100];
printf("Enter source stringn");
gets(original);
printf("Enter string to concatenaten");
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';
}
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>
int main()
{
char arr[100];
printf("Enter a string to reversen");
gets(arr);
strrev(arr);
printf("Reverse of entered string is n%sn",arr);
return 0;
}
Download Reverse string program.
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<stdio.h>
int string_length(char*);
void reverse(char*);
main()
{
char string[100];
printf("Enter a stringn");
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);
int main()
{
char a[100];
gets(a);
reverse(a, 0, strlen(a)-1);
printf("%sn",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.
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>
int main()
{
char a[100], b[100];
printf("Enter the string to check if it is a palindromen");
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 program.
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 notn");
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>
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 <stdio.h>
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 stringn");
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.
C program to convert string to
integer without using atoi function
C program to convert string to integer: It is frequently required to convert a string to an
integer in applications. String should consists of digits only and an optional '-' (minus) sign
at beginning for integers. For string containing other characters we can stop conversion as
soon as a non digit character is encountered but in our program we will handle ideal case
when only valid characters are present in string. Library function atoi can be used to convert
string to an integer but we will create our own function.
C programming code
// C program to convert string to integer without using atoi function
#include <stdio.h>
int toString(char []);
int main()
{
char a[100];
int n;
printf("Input a valid string to convert to integern");
scanf("%s", a);
n = toString(a);
printf("String = %snInteger = %dn", a, n);
return 0;
}
int toString(char a[]) {
int c, sign, offset, n;
if (a[0] == '-') { // Handle negative integers
sign = -1;
}
if (sign == -1) { // Set starting position to convert
offset = 1;
}
else {
offset = 0;
}
n = 0;
for (c = offset; a[c] != '0'; c++) {
n = n * 10 + a[c] - '0';
}
if (sign == -1) {
n = -n;
}
return n;
}
Similarly you can convert string to long.
Output of program:
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 vowelsn");
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: %sn", 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 stringn");
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 <= '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);
int main()
{
char string[100], *pointer;
int position, length;
printf("Enter a stringn");
gets(string);
printf("Enter the position and length of substringn");
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>
char* substring(char*, int, int);
int main()
{
char string[100], *pointer;
int position = 1, length = 1, temp, string_length;
printf("Enter a stringn");
gets(string);
temp = string_length = strlen(string);
printf("Substring of "%s" aren", string);
while (position <= string_length)
{
while (length <= temp)
{
pointer = substring(string, position, length);
printf("%sn", pointer);
free(pointer);
length++;
}
temp--;
position++;
length = 1;
}
return 0;
}
/* Use substring function given in above c program*/
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*);
int main()
{
char string[100];
printf("Enter some textn");
gets(string);
sort_string(string);
printf("%sn", 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);
}
Download Sort string program.
Output of program:
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>
int main()
{
char text[100], blank[100];
int c = 0, d = 0;
printf("Enter some textn");
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 blanksn%sn", blank);
return 0;
}
If you want you can copy blank into text string so that original string is modified.
Download Remove spaces program.
Output of program:
C programming code using pointers
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SPACE ' '
int main()
{
char string[100], *blank, *start;
int length, c = 0, d = 0;
printf("Enter a stringn");
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("%sn", start);
free(start);
return 0;
}
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>
int main()
{
char string[] = "Strlwr in C";
printf("%sn",strlwr(string));
return 0;
}
strupr in c
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "strupr in c";
printf("%sn",strupr(string));
return 0;
}
Change string to upper case without strupr
#include <stdio.h>
void upper_string(char*);
int main()
{
char string[100];
printf("Enter a string to convert it into upper casen");
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*);
int main()
{
char string[100];
printf("Enter a string to convert it into lower casen");
gets(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 <= 'Z' )
{
*string = *string + 32;
}
string++;
}
}
C program to swap two strings
C program to swap strings i.e. contents of two strings are interchanged.
C programming code
#include <stdio.h>
#include <string.h>
#include <malloc.h>
int main()
{
char first[100], second[100], *temp;
printf("Enter the first stringn");
gets(first);
printf("Enter the second stringn");
gets(second);
printf("nBefore Swappingn");
printf("First string: %sn",first);
printf("Second string: %snn",second);
temp = (char*)malloc(100);
strcpy(temp,first);
strcpy(first,second);
strcpy(second,temp);
printf("After Swappingn");
printf("First string: %sn",first);
printf("Second string: %sn",second);
return 0;
}
Download Swap strings program.
Output of program:
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>
int main()
{
char string[100];
int c = 0, count[26] = {0};
printf("Enter a stringn");
gets(string);
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;
}
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.
Download Character frequency program.
Output of program:
Did you notice that string in the output of program contains every alphabet at least once.
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 file
C programming code to open a file and to print it contents on screen.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch, file_name[25];
FILE *fp;
printf("Enter the name of file you wish to seen");
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;
}
Download Read file program.
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.
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 <stdio.h>
#include <stdlib.h>
int main()
{
char ch, source_file[20], target_file[20];
FILE *source, *target;
printf("Enter name of file to copyn");
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 filen");
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;
}
Download File copy program.
Output of program:
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 <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fs1, *fs2, *ft;
char ch, file1[20], file2[20], file3[20];
printf("Enter name of first filen");
gets(file1);
printf("Enter name of second filen");
gets(file2);
printf("Enter name of file which will store contents of two filesn");
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;
}
Download merge files program.
Output of program:
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:TCBIN then it will lists all the files
present in C:TCBIN.
C programming code(Turbo C compiler only)
#include <stdio.h>
#include <conio.h>
#include <dir.h>
int main()
{
int done;
struct ffblk a;
printf("Press any key to view the files in the current directoryn");
getch();
done = findfirst("*.*",&a,0);
while(!done)
{
printf("%sn",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.

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<stdio.h>
main()
{
int status;
char file_name[25];
printf("Enter the name of file you wish to deleten");
gets(file_name);
status = remove(file_name);
if( status == 0 )
printf("%s file deleted successfully.n",file_name);
else
{
printf("Unable to delete the filen");
perror("Error");
}
return 0;
}
Download Delete file program executable.
Output of program:
. 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 <stdio.h>
#include <stdlib.h>
int main() {
int c, n;
printf("Ten random numbers in [1,100]n");
for (c = 1; c <= 10; c++) {
n = rand()%100 + 1;
printf("%dn", n);
}
return 0;
}
C programming code using random function(Turbo C
compiler only)
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
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 <= n ; c++ )
{
num = random(max);
printf("%dn",num);
}
getch();
return 0;
}
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;
};
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 + %din",c.real,c.img);
else
printf("Sum of two complex numbers = %d %din",c.real,c.img);
return 0;
}
Download add complex numbers program executable.
Output of c program to add two complex numbers is shown in image below:
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 <stdio.h>
#include <conio.h>
#include <dos.h>
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.

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>
int main()
{
system("C:WindowsSystem32ipconfig");
return 0;
}
Download IP address program.
Output of program: ( In Windows 7)
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:WINDOWSsystem32 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");
scanf("%c",&ch);
if (ch == 'y' || ch == 'Y')
system("C:WINDOWSSystem32shutdown -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:WINDOWSSystem32shutdown /s");
return 0;
}
To shutdown immediately use "C:WINDOWSSystem32 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 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.

More Related Content

What's hot

Functions in c language
Functions in c language Functions in c language
Functions in c language tanmaymodi4
 
Constructor and Destructor
Constructor and DestructorConstructor and Destructor
Constructor and DestructorKamal Acharya
 
The solution manual of programming in ansi by Robin
The solution manual of programming in ansi by RobinThe solution manual of programming in ansi by Robin
The solution manual of programming in ansi by RobinShariful Haque Robin
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language CourseVivek chan
 
The solution manual of c by robin
The solution manual of c by robinThe solution manual of c by robin
The solution manual of c by robinAbdullah Al Naser
 
Chapter 4 : Balagurusamy Programming ANSI in C
Chapter 4 : Balagurusamy Programming ANSI in CChapter 4 : Balagurusamy Programming ANSI in C
Chapter 4 : Balagurusamy Programming ANSI in CBUBT
 
Let us c chapter 4 solution
Let us c chapter 4 solutionLet us c chapter 4 solution
Let us c chapter 4 solutionrohit kumar
 
Chapter 5 Balagurusamy Programming ANSI in c
Chapter 5 Balagurusamy Programming ANSI  in cChapter 5 Balagurusamy Programming ANSI  in c
Chapter 5 Balagurusamy Programming ANSI in cBUBT
 
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptxC-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptxSKUP1
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programmingTejaswiB4
 

What's hot (20)

Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Looping in C
Looping in CLooping in C
Looping in C
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
 
Constructor and Destructor
Constructor and DestructorConstructor and Destructor
Constructor and Destructor
 
The solution manual of programming in ansi by Robin
The solution manual of programming in ansi by RobinThe solution manual of programming in ansi by Robin
The solution manual of programming in ansi by Robin
 
Complete C++ programming Language Course
Complete C++ programming Language CourseComplete C++ programming Language Course
Complete C++ programming Language Course
 
The solution manual of c by robin
The solution manual of c by robinThe solution manual of c by robin
The solution manual of c by robin
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Ansi c
Ansi cAnsi c
Ansi c
 
C fundamental
C fundamentalC fundamental
C fundamental
 
Chapter 4 : Balagurusamy Programming ANSI in C
Chapter 4 : Balagurusamy Programming ANSI in CChapter 4 : Balagurusamy Programming ANSI in C
Chapter 4 : Balagurusamy Programming ANSI in C
 
Let us c chapter 4 solution
Let us c chapter 4 solutionLet us c chapter 4 solution
Let us c chapter 4 solution
 
C and C++ functions
C and C++ functionsC and C++ functions
C and C++ functions
 
C Basics
C BasicsC Basics
C Basics
 
Unit 2. Elements of C
Unit 2. Elements of CUnit 2. Elements of C
Unit 2. Elements of C
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
C presentation
C presentationC presentation
C presentation
 
Chapter 5 Balagurusamy Programming ANSI in c
Chapter 5 Balagurusamy Programming ANSI  in cChapter 5 Balagurusamy Programming ANSI  in c
Chapter 5 Balagurusamy Programming ANSI in c
 
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptxC-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
 
Basic structure of c programming
Basic structure of c programmingBasic structure of c programming
Basic structure of c programming
 

Similar to Core programming in c

Practical write a c program to reverse a given number
Practical write a c program to reverse a given numberPractical write a c program to reverse a given number
Practical write a c program to reverse a given numberMainak Sasmal
 
B.Com 1year Lab programs
B.Com 1year Lab programsB.Com 1year Lab programs
B.Com 1year Lab programsPrasadu Peddi
 
PCA-2 Programming and Solving 2nd Sem.pdf
PCA-2 Programming and Solving 2nd Sem.pdfPCA-2 Programming and Solving 2nd Sem.pdf
PCA-2 Programming and Solving 2nd Sem.pdfAshutoshprasad27
 
PCA-2 Programming and Solving 2nd Sem.docx
PCA-2 Programming and Solving 2nd Sem.docxPCA-2 Programming and Solving 2nd Sem.docx
PCA-2 Programming and Solving 2nd Sem.docxAshutoshprasad27
 
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...Computer programming subject notes. Quick easy notes for C Programming.Cheat ...
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...DR B.Surendiran .
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02Wingston
 
In C Programming create a program that converts a number from decimal.docx
In C Programming create a program that converts a number from decimal.docxIn C Programming create a program that converts a number from decimal.docx
In C Programming create a program that converts a number from decimal.docxtristans3
 
Cs291 assignment solution
Cs291 assignment solutionCs291 assignment solution
Cs291 assignment solutionKuntal Bhowmick
 
Program flowchart
Program flowchartProgram flowchart
Program flowchartSowri Rajan
 
Best C Programming Solution
Best C Programming SolutionBest C Programming Solution
Best C Programming Solutionyogini sharma
 
Common problems solving using c
Common problems solving using cCommon problems solving using c
Common problems solving using cArghodeepPaul
 

Similar to Core programming in c (20)

Practical write a c program to reverse a given number
Practical write a c program to reverse a given numberPractical write a c program to reverse a given number
Practical write a c program to reverse a given number
 
B.Com 1year Lab programs
B.Com 1year Lab programsB.Com 1year Lab programs
B.Com 1year Lab programs
 
C file
C fileC file
C file
 
Programming egs
Programming egs Programming egs
Programming egs
 
PCA-2 Programming and Solving 2nd Sem.pdf
PCA-2 Programming and Solving 2nd Sem.pdfPCA-2 Programming and Solving 2nd Sem.pdf
PCA-2 Programming and Solving 2nd Sem.pdf
 
PCA-2 Programming and Solving 2nd Sem.docx
PCA-2 Programming and Solving 2nd Sem.docxPCA-2 Programming and Solving 2nd Sem.docx
PCA-2 Programming and Solving 2nd Sem.docx
 
Progr3
Progr3Progr3
Progr3
 
C programs
C programsC programs
C programs
 
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...Computer programming subject notes. Quick easy notes for C Programming.Cheat ...
Computer programming subject notes. Quick easy notes for C Programming.Cheat ...
 
C lab
C labC lab
C lab
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02
 
In C Programming create a program that converts a number from decimal.docx
In C Programming create a program that converts a number from decimal.docxIn C Programming create a program that converts a number from decimal.docx
In C Programming create a program that converts a number from decimal.docx
 
Cs291 assignment solution
Cs291 assignment solutionCs291 assignment solution
Cs291 assignment solution
 
Program flowchart
Program flowchartProgram flowchart
Program flowchart
 
Best C Programming Solution
Best C Programming SolutionBest C Programming Solution
Best C Programming Solution
 
C faq pdf
C faq pdfC faq pdf
C faq pdf
 
Najmul
Najmul  Najmul
Najmul
 
C
CC
C
 
Common problems solving using c
Common problems solving using cCommon problems solving using c
Common problems solving using c
 
C Programming Example
C Programming ExampleC Programming Example
C Programming Example
 

More from Rahul Pandit

PARTITION COEFFICIENT
PARTITION COEFFICIENTPARTITION COEFFICIENT
PARTITION COEFFICIENTRahul Pandit
 
SOLID DISPERSION TECHNIQUE
SOLID DISPERSION TECHNIQUESOLID DISPERSION TECHNIQUE
SOLID DISPERSION TECHNIQUERahul Pandit
 
Microwave assisted organic synthesis
Microwave assisted organic synthesisMicrowave assisted organic synthesis
Microwave assisted organic synthesisRahul Pandit
 
Stability of packaging in pharmacy
Stability of packaging in pharmacyStability of packaging in pharmacy
Stability of packaging in pharmacyRahul Pandit
 
Central nervous system
Central nervous systemCentral nervous system
Central nervous systemRahul Pandit
 
I.p. 2007 volume 2
I.p. 2007 volume 2I.p. 2007 volume 2
I.p. 2007 volume 2Rahul Pandit
 
I.p. 2007 volume 3
I.p. 2007 volume 3I.p. 2007 volume 3
I.p. 2007 volume 3Rahul Pandit
 
I.p. 2007 volume 1
I.p. 2007 volume 1I.p. 2007 volume 1
I.p. 2007 volume 1Rahul Pandit
 
Kinetics and drug stability
Kinetics and drug stabilityKinetics and drug stability
Kinetics and drug stabilityRahul Pandit
 

More from Rahul Pandit (14)

PARTITION COEFFICIENT
PARTITION COEFFICIENTPARTITION COEFFICIENT
PARTITION COEFFICIENT
 
SOLID DISPERSION TECHNIQUE
SOLID DISPERSION TECHNIQUESOLID DISPERSION TECHNIQUE
SOLID DISPERSION TECHNIQUE
 
Microwave assisted organic synthesis
Microwave assisted organic synthesisMicrowave assisted organic synthesis
Microwave assisted organic synthesis
 
Stability of packaging in pharmacy
Stability of packaging in pharmacyStability of packaging in pharmacy
Stability of packaging in pharmacy
 
Central nervous system
Central nervous systemCentral nervous system
Central nervous system
 
I.p. 2007 volume 2
I.p. 2007 volume 2I.p. 2007 volume 2
I.p. 2007 volume 2
 
I.p. 2007 volume 3
I.p. 2007 volume 3I.p. 2007 volume 3
I.p. 2007 volume 3
 
I.p. 2007 volume 1
I.p. 2007 volume 1I.p. 2007 volume 1
I.p. 2007 volume 1
 
Neuron
NeuronNeuron
Neuron
 
Kinetics and drug stability
Kinetics and drug stabilityKinetics and drug stability
Kinetics and drug stability
 
Immunisation
ImmunisationImmunisation
Immunisation
 
Hacking
HackingHacking
Hacking
 
Endangered birds
Endangered birdsEndangered birds
Endangered birds
 
Senega
SenegaSenega
Senega
 

Recently uploaded

BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxNiranjanYadav41
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 

Recently uploaded (20)

BSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptxBSNL Internship Training presentation.pptx
BSNL Internship Training presentation.pptx
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 

Core programming in c

  • 1. Hello world in C language //C hello world example #include <stdio.h> int main() { printf("Hello worldn"); 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: Download Hello world program. Hello world program in c We may store "hello world" in a character array as a string constant and then print it. #include <stdio.h> int main() { char string[] = "Hello World"; printf("%sn", string); return 0; } Don't worry if you didn't understand above code as you may not be familiar with arrays yet. Printing hello world indefinitely Using loop we can print "Hello World" a desired number of time or indefinitely. #include <stdio.h> #define TRUE 1 int main() { while (TRUE) {
  • 2. printf("Hello Worldn"); } return 0; } While loop will execute forever until it is terminated, to terminate press (Ctrl + C) in windows operating system 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 <stdio.h> int main() { int a; printf("Enter an integern"); scanf("%d", &a); printf("Integer that you have entered is %dn", 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. 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.
  • 3. C programming code #include<stdio.h> int main() { int a, b, c; printf("Enter two numbers to addn"); scanf("%d%d",&a,&b); c = a + b; printf("Sum of entered numbers = %dn",c); return 0; } Download Add numbers program executable. Output of program: Addition without using third variable #include<stdio.h> 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 = %dn", a); return 0; } C program to add two numbers repeatedly #include<stdio.h> main()
  • 4. { int a, b, c; char ch; while(1) { printf("Enter values of a and bn"); scanf("%d%d",&a,&b); c = a + b; printf("a + b = %dn", 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<stdio.h> long addition(long, long); main() { long first, second, sum; scanf("%ld%ld", &first, &second); sum = addition(first, second); printf("%ldn", 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.
  • 5. 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<stdio.h> main() { int n; printf("Enter an integern"); scanf("%d",&n); if ( n%2 == 0 ) printf("Evenn"); else printf("Oddn"); 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<stdio.h> main() { int n; printf("Enter an integern"); scanf("%d",&n); if ( n & 1 == 1 ) printf("Oddn"); else printf("Evenn"); return 0; } Find odd or even using conditional operator #include<stdio.h> main()
  • 6. { int n; printf("Input an integern"); scanf("%d",&n); n%2 == 0 ? printf("Evenn") : printf("Oddn"); return 0; } C program to check odd or even without using bitwise or modulus operator #include<stdio.h> main() { int n; printf("Enter an integern"); scanf("%d",&n); if ( (n/2)*2 == n ) printf("Evenn"); else printf("Oddn"); 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.  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 <stdio.h>
  • 7. int main() { int first, second, add, subtract, multiply; float divide; printf("Enter two integersn"); scanf("%d%d", &first, &second); add = first + second; subtract = first - second; multiply = first * second; divide = first / (float)second; //typecasting printf("Sum = %dn",add); printf("Difference = %dn",subtract); printf("Multiplication = %dn",multiply); printf("Division = %.2fn",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. 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 <stdio.h>
  • 8. int main() { char ch; printf("Enter a charactern"); 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 <stdio.h> int main() { char ch; printf("Input a charactern"); 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; }
  • 9. Function to check vowel int check_vowel(char a) { if (a >= 'A' && a <= 'Z') a = a + 'a' - 'A'; /* Converting to lower case or use a = a + 32 */ if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u') return 1; return 0; } This function can also be used to check if a character is a consonant or not, if it's not a vowel then it will be a consonant, but make sure that the character is an alphabet not a special character. C program to check leap year C program to check leap year: c code to check leap year, year will be entered by the user. C programming code #include <stdio.h> int main() { int year; printf("Enter a year to check if it is a leap yearn"); 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; } Download Leap year program. Output of program: Please read the leap year article at Wikipedia, it will help yo
  • 10. 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> int main() { int n, sum = 0, remainder; printf("Enter an integern"); scanf("%d",&n); while(n != 0) { remainder = n % 10; sum = sum + remainder; n = n / 10; } printf("Sum of digits of entered number = %dn",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. Download Add digits program. Output of program: Add digits using recursion #include <stdio.h>
  • 11. int add_digits(int); int main() { int n, result; scanf("%d", &n); result = add_digits(n); printf("%dn", 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.  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 loop Here we find factorial using for loop. #include <stdio.h> int main() { int c, n, fact = 1; printf("Enter a number to calculate it's factorialn"); scanf("%d", &n); for (c = 1; c <= n; c++) fact = fact * c;
  • 12. printf("Factorial of %d = %dn", n, fact); return 0; } Download Factorial program. Output of code: Factorial program in c using function #include <stdio.h> long factorial(int); int main() { int number; long fact = 1; printf("Enter a number to calculate it's factorialn"); scanf("%d", &number); printf("%d! = %ldn", 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); int main() { int n; long f;
  • 13. printf("Enter an integer to find factorialn"); scanf("%d", &n); if (n < 0) printf("Negative integers are not allowed.n"); else { f = factorial(n); printf("%d! = %ldn", n, f); } return 0; } long factorial(int n) { if (n == 0) return 1; else return(n * factorial(n-1)); } 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.  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 integersn"); 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 = %dn", x, y, gcd);
  • 14. printf("Least common multiple of %d and %d = %dn", x, y, lcm); return 0; } Download HCF and LCM program. Output of program: 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 integersn"); scanf("%ld%ld", &x, &y); hcf = gcd(x, y); lcm = (x*y)/hcf; printf("Greatest common divisor of %ld and %ld = %ldn", x, y, hcf); printf("Least common multiple of %ld and %ld = %ldn", 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 integersn"); scanf("%ld%ld", &x, &y); hcf = gcd(x, y);
  • 15. lcm = (x*y)/hcf; printf("Greatest common divisor of %ld and %ld = %ldn", x, y, hcf); printf("Least common multiple of %ld and %ld = %ldn", 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; } 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 systemn"); 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");
  • 16. return 0; } Download Decimal binary program. 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 <stdio.h> #include <stdlib.h> char *decimal_to_binary(int); main() { int n, c, k; char *pointer; printf("Enter an integer in decimal number systemn"); scanf("%d",&n); pointer = decimal_to_binary(n); printf("Binary string of %d is: %sn", 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 )
  • 17. *(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 lo 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 rn"); scanf("%d%d",&n,&r); ncr = find_ncr(n, r); npr = find_npr(n, r); printf("%dC%d = %ldn", n, r, ncr); printf("%dP%d = %ldn", 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);
  • 18. return result; } long factorial(int n) { int c; long result = 1; for( c = 1 ; c <= n ; c++ ) result = result*c; return ( result ); } Download NCR and NPR program. Output of program: 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 <stdio.h> int main() { int n, sum = 0, c, value; printf("Enter the number of integers you want to addn"); scanf("%d", &n); printf("Enter %d integersn",n); for (c = 1; c <= n; c++) { scanf("%d",&value); sum = sum + value; } printf("Sum of entered integers = %dn",sum);
  • 19. return 0; } Download Add n numbers program. Output of program: C programming code using array #include <stdio.h> 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 = %dn",sum); return 0; } 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 <stdio.h> int main() { int x, y, temp;
  • 20. printf("Enter the value of x and yn"); scanf("%d%d", &x, &y); printf("Before Swappingnx = %dny = %dn",x,y); temp = x; x = y; y = temp; printf("After Swappingnx = %dny = %dn",x,y); return 0; } Download Swap numbers program. Output of program: 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 swapn"); scanf("%d%d", &a, &b); a = a + b; b = a - b; a = a - b; printf("a = %dnb = %dn",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>
  • 21. int main() { int x, y, *a, *b, temp; printf("Enter the value of x and yn"); scanf("%d%d", &x, &y); printf("Before Swappingnx = %dny = %dn", x, y); a = &x; b = &y; temp = *b; *b = *a; *a = temp; printf("After Swappingnx = %dny = %dn", 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 yn"); scanf("%d%d",&x,&y); printf("Before Swappingnx = %dny = %dn", x, y); swap(&x, &y); printf("After Swappingnx = %dny = %dn", 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() {
  • 22. int x, y; scanf("%d%d", &x, &y); printf("x = %dny = %dn", x, y); x = x ^ y; y = x ^ y; x = x ^ y; printf("x = %dny = %dn", 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. 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 <stdio.h> int main() { int n, reverse = 0; printf("Enter a number to reversen"); scanf("%d",&n); while (n != 0) { reverse = reverse * 10; reverse = reverse + n%10; n = n/10; } printf("Reverse of entered number is = %dn", reverse); return 0; } Download Reverse number program.
  • 23. Output of program: 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 <stdio.h> 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 <= n ; row++ ) { for ( c = 1 ; c < temp ; c++ ) printf(" "); temp--;
  • 24. for ( c = 1 ; c <= 2*row - 1 ; c++ ) printf("*"); printf("n"); } return 0; } Download Stars pyramid program. Output of program: For more patterns or shapes on numbers and characters see comments below and also see codes on following pages: Floyd triangle Pascal triangle Consider the pattern * ** *** **** ***** to print above pattern see the code below: #include <stdio.h> int main() { int n, c, k; printf("Enter number of rowsn"); scanf("%d",&n); for ( c = 1 ; c <= n ; c++ ) { for( k = 1 ; k <= c ; k++ ) printf("*"); printf("n");
  • 25. } return 0; } Using these examples you are in a better position to create your desired pattern for yourself. Creating a pattern involves how to use nested loops properly, some pattern may involve alphabets or other special characters. Key aspect is knowing how the characters in pattern changes. C pattern programs Pattern: * *A* *A*A* *A*A*A* C pattern program of stars and alphabets: #include<stdio.h> main() { int n, c, k, space, count = 1; printf("Enter number of rowsn"); scanf("%d",&n); space = n; for ( c = 1 ; c <= n ; c++) { for( k = 1 ; k < space ; k++) printf(" "); for ( k = 1 ; k <= c ; k++) { printf("*"); if ( c > 1 && count < c) { printf("A"); count++; } } printf("n"); space--; count = 1; } return 0; }
  • 26. Pattern: 1 232 34543 4567654 567898765 C program: #include<stdio.h> main() { int n, c, d, num = 1, space; scanf("%d",&n); space = n - 1; for ( d = 1 ; d <= n ; d++ ) { num = d; for ( c = 1 ; c <= space ; c++ ) printf(" "); space--; for ( c = 1 ; c <= d ; c++ ) { printf("%d", num); num++; } num--; num--; for ( c = 1 ; c < d ; c++) { printf("%d", num); num--; } 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:
  • 27. * *** ***** *** * C programming code #include <stdio.h> int main() { int n, c, k, space = 1; printf("Enter number of rowsn"); scanf("%d", &n); space = n - 1; for (k = 1; k <= n; k++) { 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; } Download Diamond program.
  • 28. Output of program: 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*33*51 Prime number program in c language #include<stdio.h> int main() { int n, i = 3, count, c; printf("Enter the number of prime numbers requiredn"); scanf("%d",&n); if ( n >= 1 ) { printf("First %d prime numbers are :n",n); printf("2n"); } for ( count = 2 ; count <= n ; ) { for ( c = 2 ; c <= i - 1 ; c++ ) {
  • 29. if ( i%c == 0 ) break; } if ( c == i ) { printf("%dn",i); count++; } i++; } return 0; } Download Prime number program. Output of program: C program for prime number or not #include<stdio.h> main() { int n, c = 2; printf("Enter a number to check if it is primen"); 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
  • 30. #include<stdio.h> 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; } 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 available. 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 + 73 + 13 = 371. Some other armstrong numbers are: 0, 1, 153, 370, 407. C programming code #include <stdio.h> int main() { int number, sum = 0, temp, remainder; printf("Enter an integern");
  • 31. scanf("%d",&number); temp = number; while( temp != 0 ) { remainder = temp%10; sum = sum + remainder*remainder*remainder; temp = temp/10; } if ( number == sum ) printf("Entered number is an armstrong number.n"); else printf("Entered number is not an armstrong number.n"); return 0; } Download Check Armstrong number program. Output of program: 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 <stdio.h> int main() { int r; long number = 0, c, sum = 0, temp; printf("Enter an integer upto which you want to find armstrong numbersn"); scanf("%ld",&number);
  • 32. printf("Following armstrong numbers are found from 1 to %ldn",number); for( c = 1 ; c <= number ; c++ ) { temp = c; while( temp != 0 ) { r = temp%10; sum = sum + r*r*r; temp = temp/10; } if ( c == sum ) printf("%ldn", c); sum = 0; } return 0; } Download Generate Armstrong numbers program. 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 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<stdio.h> int main() { int n, first = 0, second = 1, next, c; printf("Enter the number of termsn"); scanf("%d",&n);
  • 33. 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("%dn",next); } 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 seriesn"); for ( c = 1 ; c <= n ; c++ ) { printf("%dn", Fibonacci(i)); i++; } return 0; } int Fibonacci(int n) { if ( n == 0 )
  • 34. return 0; else if ( n == 1 ) return 1; else return ( Fibonacci(n-1) + Fibonacci(n-2) ); } Recursion method is less efficient as it involves function calls which uses stack, also there are chances of stack overflow if function is called frequently for calculating larger Fibonacci numbers. 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 <stdio.h> int main() { int n, i, c, a = 1; printf("Enter the number of rows of Floyd's triangle to printn"); scanf("%d", &n); for (i = 1; i <= n; i++) { for (c = 1; c <= i; c++) { printf("%d ",a); a++; } printf("n"); } return 0; } Download Floyd triangle program.
  • 35. 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 1 1 1 2 1 1 3 3 1 Pascal triangle in c #include <stdio.h> long factorial(int); int main() { int i, n, c; printf("Enter the number of rows you wish to see in pascal trianglen"); 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) {
  • 36. int c; long result = 1; for( c = 1 ; c <= n ; c++ ) result = result*c; return ( result ); } Download Pascal triangle program. Output of program: For more patterns or shapes on numbers and characters see codes on following pages: Patterns programs Floyd triangle  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 <stdio.h> int main() { int first, second, *p, *q, sum; printf("Enter two integers to addn"); scanf("%d%d", &first, &second); p = &first; q = &second;
  • 37. sum = *p + *q; printf("Sum of entered numbers = %dn",sum); return 0; } Download Add integers using pointers program. 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 arrayn"); scanf("%d", &size); printf("Enter %d integersn", 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; } }
  • 38. printf("Maximum element is present at location %d and it's value is %d.n", location, maximum); return 0; } Download Maximum element in array program. Output of program: C programming code using pointers #include <stdio.h> int main() { long array[100], *maximum, size, c, location = 1; printf("Enter the number of elements in arrayn"); scanf("%ld", &size); printf("Enter %ld integersn", 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.
  • 39. 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 <stdio.h> int main() { int array[100], minimum, size, c, location = 1; printf("Enter the number of elements in arrayn"); scanf("%d",&size); printf("Enter %d integersn", 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; } Download Minimum element in array program. Output of program:
  • 40. C programming code using pointers #include <stdio.h> int main() { int array[100], *minimum, size, c, location = 1; printf("Enter the number of elements in arrayn"); scanf("%d",&size); printf("Enter %d integersn", 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.  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 <stdio.h> int main() { int array[100], search, c, n; printf("Enter the number of elements in arrayn");
  • 41. 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 searchn"); 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; } Download Linear search program. Output of program: C program for binary search Linear search for multiple occurrences In 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 <stdio.h> int main() { int array[100], search, c, n, count = 0; printf("Enter the number of elements in arrayn"); scanf("%d",&n); printf("Enter %d numbersn", n);
  • 42. for ( c = 0 ; c < n ; c++ ) scanf("%d",&array[c]); printf("Enter the number to searchn"); 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 <stdio.h> int linear_search(int*, int, int); int main() { int array[100], search, c, n, position; printf("Enter the number of elements in arrayn"); scanf("%d",&n); printf("Enter %d numbersn", n);
  • 43. for ( c = 0 ; c < n ; c++ ) scanf("%d", &array[c]); printf("Enter the number to searchn"); 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). 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 <stdio.h> int main() { int c, first, last, middle, n, search, array[100]; printf("Enter number of elementsn"); scanf("%d",&n); printf("Enter %d integersn", n); for ( c = 0 ; c < n ; c++ )
  • 44. scanf("%d",&array[c]); printf("Enter value to findn"); scanf("%d",&search); first = 0; last = n - 1; middle = (first+last)/2; while( first <= last ) { if ( array[middle] < search ) first = middle + 1; else if ( array[middle] == search ) { printf("%d found at location %d.n", search, middle+1); break; } else last = middle - 1; middle = (first + last)/2; } if ( first > last ) printf("Not found! %d is not present in the list.n", search); return 0; } C program for linear search Download Binary search program. 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. 
  • 45. 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]; printf("Enter the number of elements in arrayn"); scanf("%d", &n); printf("Enter the array elementsn"); 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 isn"); for (c = 0; c < n; c++) printf("%dn", a[c]); return 0; } Download Reverse array program.
  • 46. Output of program: Reverse array by swapping (without using additional memory) #include <stdio.h> 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("%dn", array[c]); } return 0; } C program to reverse an array using pointers #include <stdio.h> #include <stdlib.h> void reverse_array(int*, int); int main() {
  • 47. 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 isn"); for ( c = 0 ; c < n ; c++ ) printf("%dn",*(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. 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
  • 48. #include <stdio.h> int main() { int array[100], position, c, n, value; printf("Enter number of elements in arrayn"); scanf("%d", &n); printf("Enter %d elementsn", n); for (c = 0; c < n; c++) scanf("%d", &array[c]); printf("Enter the location where you wish to insert an elementn"); scanf("%d", &position); printf("Enter the value to insertn"); scanf("%d", &value); for (c = n - 1; c >= position - 1; c--) array[c+1] = array[c]; array[position-1] = value; printf("Resultant array isn"); for (c = 0; c <= n; c++) printf("%dn", array[c]); return 0; } Download Insert element in array program. Output of program:
  • 49.  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> int main() { int array[100], position, c, n; printf("Enter number of elements in arrayn"); scanf("%d", &n); printf("Enter %d elementsn", n); for ( c = 0 ; c < n ; c++ ) scanf("%d", &array[c]); printf("Enter the location where you wish to delete elementn"); 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 isn"); for( c = 0 ; c < n - 1 ; c++ ) printf("%dn", array[c]); } return 0; } Download Delete element from array program.
  • 50. Output of program:  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 <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 arrayn"); scanf("%d", &m); printf("Input %d integersn", m); for (c = 0; c < m; c++) { scanf("%d", &a[c]); } printf("Input number of elements in second arrayn"); scanf("%d", &n); printf("Input %d integersn", n); for (c = 0; c < n; c++) { scanf("%d", &b[c]); } merge(a, m, b, n, sorted); printf("Sorted array:n");
  • 51. for (c = 0; c < m + n; c++) { printf("%dn", 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++; } } } } Download Merge arrays program.
  • 52. 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.  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 <stdio.h> int main() { int array[100], n, c, d, swap; printf("Enter number of elementsn"); scanf("%d", &n); printf("Enter %d integersn", n); for (c = 0; c < n; c++) scanf("%d", &array[c]); for (c = 0 ; c < ( n - 1 ); c++) {
  • 53. 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("%dn", array[c]); return 0; } Download Bubble sort program. Output of program: Bubble sort in c language using function #include <stdio.h> void bubble_sort(long [], long); int main() { long array[100], n, c, d, swap; printf("Enter number of elementsn"); scanf("%ld", &n); printf("Enter %ld integersn", n); for (c = 0; c < n; c++) scanf("%ld", &array[c]);
  • 54. bubble_sort(array, n); printf("Sorted list in ascending order:n"); for ( c = 0 ; c < n ; c++ ) printf("%ldn", 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. 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 <stdio.h> int main() { int n, array[1000], c, d, t; printf("Enter number of elementsn"); scanf("%d", &n); printf("Enter %d integersn", n); for (c = 0; c < n; c++) { scanf("%d", &array[c]);
  • 55. } for (c = 1 ; c <= n - 1; c++) { d = c; while ( d > 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 <= n - 1; c++) { printf("%dn", array[c]); } return 0; } Download Insertion sort program. Output of program: Selection sort in c Selection sort in c: c program for selection sort to sort numbers. This code implements selection sort algorithm to arrange numbers of an array in ascending order. With a little modification it will arrange numbers in descending order. Selection sort algorithm implementation in c #include <stdio.h> int main() { int array[100], n, c, d, position, swap;
  • 56. printf("Enter number of elementsn"); scanf("%d", &n); printf("Enter %d integersn", 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("%dn", array[c]); return 0; } Download Selection sort program.
  • 57. 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 C programming code #include <stdio.h> 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 matrixn");
  • 58. scanf("%d%d", &m, &n); printf("Enter the elements of first matrixn"); for ( c = 0 ; c < m ; c++ ) for ( d = 0 ; d < n ; d++ ) scanf("%d", &first[c][d]); printf("Enter the elements of second matrixn"); 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("%dt", sum[c][d]); printf("n"); } return 0; } Download Add Matrix program. Output of program: 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 <stdio.h>
  • 59. 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 matrixn"); scanf("%d%d", &m, &n); printf("Enter the elements of first matrixn"); for (c = 0; c < m; c++) for (d = 0 ; d < n; d++) scanf("%d", &first[c][d]); printf("Enter the elements of second matrixn"); 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("%dt",difference[c][d]); printf("n"); } return 0; } Download Subtract matrices program. Output of program: C program to transpose a matrix
  • 60. 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> 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("%dt",transpose[c][d]); } printf("n"); } return 0; } Download Transpose Matrix program.
  • 61. 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 multiply them in Mathematics. 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 matrixn"); scanf("%d%d", &m, &n); printf("Enter the elements of first matrixn"); 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 matrixn"); 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 matrixn"); for ( c = 0 ; c < p ; c++ ) for ( d = 0 ; d < q ; d++ ) scanf("%d", &second[c][d]); for ( c = 0 ; c < m ; c++ ) {
  • 62. 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("%dt", multiply[c][d]); printf("n"); } } return 0; } Download Matrix multiplication program. 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. C program print string
  • 63. This program print a string. String can be printed by using various functions such as printf, puts. C programming code #include <stdio.h> int main() { char array[20] = "Hello World"; printf("%sn",array); return 0; } To input a string we use scanf function. C programming code #include <stdio.h> int main() { char array[100]; printf("Enter a stringn"); scanf("%s", array); printf("You entered the string %sn",array); return 0; } Input string containing spaces #include <stdio.h> int main() { char a[80]; gets(a); printf("%sn", 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
  • 64. #include <stdio.h> #include <string.h> int main() { char a[100]; int length; printf("Enter a string to calculate it's lengthn"); gets(a); length = strlen(a); printf("Length of entered string is = %dn",length); return 0; } Download String length program. 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> int main() { char array[100], *pointer; int length = 0; printf("Enter a stringn"); gets(array); pointer = array; while(*(pointer+length)) length++; printf("Length of entered string = %dn",length); return 0; } Function to find string length
  • 65. int string_length(char *s) { int c = 0; while(*(s+c)) c++; return c; }  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 <stdio.h> #include <string.h> int main() { char a[100], b[100]; printf("Enter the first stringn"); gets(a); printf("Enter the second stringn"); gets(b); if( strcmp(a,b) == 0 ) printf("Entered strings are equal.n"); else printf("Entered strings are not equal.n"); return 0; } Download Compare Strings program. Output of program: C program to compare two strings without using strcmp Here we create our own function to compare strings.
  • 66. 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*); int main() { char first[100], second[100], result; printf("Enter first stringn"); gets(first); printf("Enter second stringn"); 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; }
  • 67. 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: %sn", source); printf("Destination string: %sn", 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<stdio.h> void copy_string(char*, char*); main() { char source[100], target[100]; printf("Enter source stringn"); 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'; }
  • 68. 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 <stdio.h> #include <string.h> int main() { char a[100], b[100]; printf("Enter the first stringn"); gets(a); printf("Enter the second stringn"); gets(b); strcat(a,b); printf("String obtained on concatenation is %sn",a); return 0; } Download String Concatenation program. Output of program: String concatenation without strcat #include <stdio.h> void concatenate_string(char*, char*); int main() { char original[100], add[100]; printf("Enter source stringn"); gets(original); printf("Enter string to concatenaten"); gets(add);
  • 69. 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'; } 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> int main() { char arr[100]; printf("Enter a string to reversen"); gets(arr); strrev(arr); printf("Reverse of entered string is n%sn",arr); return 0; } Download Reverse string program.
  • 70. 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<stdio.h> int string_length(char*); void reverse(char*); main() { char string[100]; printf("Enter a stringn"); 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--; } }
  • 71. 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); int main() { char a[100]; gets(a); reverse(a, 0, strlen(a)-1); printf("%sn",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. 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
  • 72. 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> int main() { char a[100], b[100]; printf("Enter the string to check if it is a palindromen"); 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 program. 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 notn"); scanf("%d",&n); temp = n; while( temp != 0 ) { reverse = reverse * 10; reverse = reverse + temp%10;
  • 73. 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> 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 <stdio.h> 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 stringn");
  • 74. 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;
  • 75. 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. C program to convert string to integer without using atoi function C program to convert string to integer: It is frequently required to convert a string to an integer in applications. String should consists of digits only and an optional '-' (minus) sign at beginning for integers. For string containing other characters we can stop conversion as soon as a non digit character is encountered but in our program we will handle ideal case when only valid characters are present in string. Library function atoi can be used to convert string to an integer but we will create our own function. C programming code // C program to convert string to integer without using atoi function #include <stdio.h> int toString(char []); int main() {
  • 76. char a[100]; int n; printf("Input a valid string to convert to integern"); scanf("%s", a); n = toString(a); printf("String = %snInteger = %dn", a, n); return 0; } int toString(char a[]) { int c, sign, offset, n; if (a[0] == '-') { // Handle negative integers sign = -1; } if (sign == -1) { // Set starting position to convert offset = 1; } else { offset = 0; } n = 0; for (c = offset; a[c] != '0'; c++) { n = n * 10 + a[c] - '0'; } if (sign == -1) { n = -n; } return n; } Similarly you can convert string to long. Output of program: 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
  • 77. #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 vowelsn"); 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: %sn", 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() {
  • 78. char string[100], *temp, *pointer, ch, *start; printf("Enter a stringn"); 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 <= '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
  • 79. 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); int main() { char string[100], *pointer; int position, length; printf("Enter a stringn"); gets(string); printf("Enter the position and length of substringn"); 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; }
  • 80. C substring program output: C code for all substrings of a string #include <stdio.h> #include <string.h> #include <malloc.h> char* substring(char*, int, int); int main() { char string[100], *pointer; int position = 1, length = 1, temp, string_length; printf("Enter a stringn"); gets(string); temp = string_length = strlen(string); printf("Substring of "%s" aren", string); while (position <= string_length) { while (length <= temp) { pointer = substring(string, position, length); printf("%sn", pointer); free(pointer); length++; } temp--; position++; length = 1; } return 0; } /* Use substring function given in above c program*/
  • 81. 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*); int main() { char string[100]; printf("Enter some textn"); gets(string); sort_string(string); printf("%sn", 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;
  • 82. 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); } Download Sort string program. Output of program: 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> int main() { char text[100], blank[100]; int c = 0, d = 0; printf("Enter some textn"); gets(text); while (text[c] != '0') {
  • 83. if (!(text[c] == ' ' && text[c+1] == ' ')) { blank[d] = text[c]; d++; } c++; } blank[d] = '0'; printf("Text after removing blanksn%sn", blank); return 0; } If you want you can copy blank into text string so that original string is modified. Download Remove spaces program. Output of program: C programming code using pointers #include <stdio.h> #include <string.h> #include <stdlib.h> #define SPACE ' ' int main() { char string[100], *blank, *start; int length, c = 0, d = 0; printf("Enter a stringn"); 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++;
  • 84. } c++; } *(start+d) = '0'; printf("%sn", start); free(start); return 0; } 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> int main() { char string[] = "Strlwr in C"; printf("%sn",strlwr(string)); return 0; } strupr in c #include <stdio.h> #include <string.h> int main() { char string[] = "strupr in c"; printf("%sn",strupr(string)); return 0; } Change string to upper case without strupr #include <stdio.h> void upper_string(char*); int main() { char string[100]; printf("Enter a string to convert it into upper casen"); gets(string); upper_string(string);
  • 85. 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*); int main() { char string[100]; printf("Enter a string to convert it into lower casen"); gets(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 <= 'Z' ) { *string = *string + 32; } string++; } } C program to swap two strings C program to swap strings i.e. contents of two strings are interchanged. C programming code #include <stdio.h> #include <string.h> #include <malloc.h>
  • 86. int main() { char first[100], second[100], *temp; printf("Enter the first stringn"); gets(first); printf("Enter the second stringn"); gets(second); printf("nBefore Swappingn"); printf("First string: %sn",first); printf("Second string: %snn",second); temp = (char*)malloc(100); strcpy(temp,first); strcpy(first,second); strcpy(second,temp); printf("After Swappingn"); printf("First string: %sn",first); printf("Second string: %sn",second); return 0; } Download Swap strings program. Output of program: 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.
  • 87. C programming code #include <stdio.h> #include <string.h> int main() { char string[100]; int c = 0, count[26] = {0}; printf("Enter a stringn"); gets(string); 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; } 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. Download Character frequency program.
  • 88. Output of program: Did you notice that string in the output of program contains every alphabet at least once. 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 file C programming code to open a file and to print it contents on screen. #include <stdio.h> #include <stdlib.h> int main() { char ch, file_name[25]; FILE *fp;
  • 89. printf("Enter the name of file you wish to seen"); 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; } Download Read file program. 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. 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 <stdio.h> #include <stdlib.h> int main() { char ch, source_file[20], target_file[20];
  • 90. FILE *source, *target; printf("Enter name of file to copyn"); 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 filen"); 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; } Download File copy program. Output of program: 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.
  • 91. C programming code #include <stdio.h> #include <stdlib.h> int main() { FILE *fs1, *fs2, *ft; char ch, file1[20], file2[20], file3[20]; printf("Enter name of first filen"); gets(file1); printf("Enter name of second filen"); gets(file2); printf("Enter name of file which will store contents of two filesn"); 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; } Download merge files program.
  • 92. Output of program: 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:TCBIN then it will lists all the files present in C:TCBIN. C programming code(Turbo C compiler only) #include <stdio.h> #include <conio.h> #include <dir.h> int main() { int done; struct ffblk a; printf("Press any key to view the files in the current directoryn"); getch(); done = findfirst("*.*",&a,0); while(!done) { printf("%sn",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.  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
  • 93. 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<stdio.h> main() { int status; char file_name[25]; printf("Enter the name of file you wish to deleten"); gets(file_name); status = remove(file_name); if( status == 0 ) printf("%s file deleted successfully.n",file_name); else { printf("Unable to delete the filen"); perror("Error"); } return 0; } Download Delete file program executable. Output of program: . 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 <stdio.h> #include <stdlib.h>
  • 94. int main() { int c, n; printf("Ten random numbers in [1,100]n"); for (c = 1; c <= 10; c++) { n = rand()%100 + 1; printf("%dn", n); } return 0; } C programming code using random function(Turbo C compiler only) #include<stdio.h> #include<conio.h> #include<stdlib.h> 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 <= n ; c++ ) { num = random(max); printf("%dn",num); } getch(); return 0; } 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.
  • 95. C programming code #include <stdio.h> struct complex { int real, img; }; 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 + %din",c.real,c.img); else printf("Sum of two complex numbers = %d %din",c.real,c.img); return 0; } Download add complex numbers program executable. Output of c program to add two complex numbers is shown in image below: 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 <stdio.h> #include <conio.h> #include <dos.h> 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;
  • 96. } This code works in Turbo C only because it supports dos.h header file.  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> int main() { system("C:WindowsSystem32ipconfig"); return 0; } Download IP address program. Output of program: ( In Windows 7) 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:WINDOWSsystem32 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"
  • 97. 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"); scanf("%c",&ch); if (ch == 'y' || ch == 'Y') system("C:WINDOWSSystem32shutdown -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:WINDOWSSystem32shutdown /s"); return 0; } To shutdown immediately use "C:WINDOWSSystem32 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 specifies you want to power off your machine. You can specify
  • 98. minutes as: shutdown -P "number of minutes" For more help or options type at terminal: man shutdown.