Lab 2 (C Programming) Solution
Feb 16, 2019programs written here are compiled and run in gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
1) Write a program to to prompt the user to input one floating, one integer and one character variable and display these values in forward and reverse order
Source Code:
#include <stdio.h>
int main()
{
float f_num;
int i_num;
char ch;
printf("Enter the floating number :");
scanf(" %f", &f_num);
printf("Enter the Integer number :");
scanf(" %d", &i_num);
printf("Enter the Character number :");
scanf(" %c", &ch);
printf("Forward Order: %f, %d, %c\n", f_num, i_num, ch);
printf("Reverse Order: %c, %d, %f\n", ch, i_num, f_num);
return 0;
}
Output:
Enter the floating number :12.4 Enter the Integer number :23 Enter the Character number :a Forward Order: 12.400000, 23, a Reverse Order: a, 23, 12.400000
2) Write a program to compute the Compound Interest. (Use proper functions from math.h libray)
Source Code:
//program to compute the compound interest
#include <stdio.h>
#include <math.h>
int main()
{
float p, t, r, c_i;
printf("Enter principle, time and rate:");
scanf(" %f %f %f", &p, &t, &r);
c_i = p *(pow(1 + r/100, t)) - p;
printf("Compound Interest = %f", c_i);
return 0;
}
Output:
Enter principle, time and rate:2300 3 12 Compound Interest = 931.334412
3) Write a program to print the size of char, int, float, double and long double data types in C. Discuss, if the data size differs from your expectation.Source Code:
#include <stdio.h>
int main()
{
printf("Size of char : %lu\n", sizeof(char));
printf("Size of int : %lu\n", sizeof(int));
printf("Size of float : %lu\n", sizeof(float));
printf("Size of long : %lu\n", sizeof(long));
printf("Size of long double : %lu\n", sizeof(long double));
return 0;
}
Output:
Size of char : 1 Size of int : 4 Size of float : 4 Size of long : 8 Size of long double : 16
4) Write a program to swap two variables values with and without using third variable.
Source Code(using third variable):
//program to swap two variables using third variable
#include <stdio.h>
int main()
{
int a, b, temp;
printf("Enter value of a:");
scanf("%d", &a);
printf("Enter value of b:");
scanf("%d", &b);
printf("Before swapping a = %d, b = %d\n", a, b);
//swapping
temp = a;
a = b;
b = temp;
printf("After swapping a = %d, b = %d", a, b);
return 0;
}
Output:
Enter value of a:23 Enter value of b:45 Before swapping a = 23, b = 45 After swapping a = 45, b = 23
Source Code(without using third variable):
//swapping without using third variable
#include <stdio.h>
int main()
{
int a = 40, b = 100;
printf("Before swapping a = %d, b = %d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("After swapping a = %d, b = %d\n", a, b);
return 0;
}
Output:
Enter value of a:34 Enter value of b:66 Before swapping a = 34, b = 66 After swapping a = 66, b = 34
5) Write a program to check if the given integer number is even using ...i)modulus operator ii)bitwise operator.
Source Code(modulus operator):
//program to check even number using modulus operator
#include <stdio.h>
int main()
{
int number;
printf("Enter the number to check:");
scanf("%d", &number);
if(number % 2 == 0){
printf("The entered number is even:");
}else{
printf("The entered number is odd:");
}
return 0;
}
Output:
Enter the number to check:34 The entered number is even
Source Code(bitwise operator):
//program to check even number using biswise operator
#include <stdio.h>
int main()
{
int number;
printf("Enter the number to check:");
scanf("%d", &number);
if(number & 1 == 1){
printf("The entered number is odd:");
}else{
printf("The entered number is even:");
}
return 0;
}
Output:
Enter the number to check:55 The entered number is odd:
6)Write a program to find the greatest of two integers entered by the user using conditional operator, Also find the average in the form of floating point format.(optional-try for the greatest of the three numbers using conditional operator)
Source Code(greatest among two):
//program to find the greatest of two integers
#include <stdio.h>
int main()
{
int a, b, greatest;
float average;
printf("Enter the two numbers :");
scanf(" %d %d", &a, &b);
greatest = (a > b)?a:b;
average = (a + b)/2.0;
printf("Greatest is :%d\n", greatest);
printf("Average is :%f\n", average);
return 0;
}
Output:
Enter the two numbers :34 66 Greatest is :66 Average is :50.000000
Source Code(greatest among three):
//program to find the greatest of three integers
#include <stdio.h>
int main()
{
int a, b, c, greatest;
printf("Enter the three numbers :");
scanf(" %d %d %d", &a, &b, &c);
greatest = (a > b)?((a > c)?a:c):((b > c)?b:c);
printf("Greatest is :%d\n", greatest);
return 0;
}
Output:
Enter the three numbers :23 89 55 Greatest is :89
7)Write the following expressions in programs individually, and discuss on the result. Display the value of y and z for each expression with a = 10, b = 5(only source-codes)
Source Code(7i):
//programs for question 7(i)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a++ + ++a;
int y = a-- + --a;
printf("a++ + ++a=%d\n",z);
printf("a-- + --a=%d",y);
return 0;
}
Output:
a++ + ++a=22 a-- + --a=22
Source Code(7ii):
//programs for question 7(ii)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = ++a + ++a;
int y = a-- + a--;
printf("++a + ++a=%d\n",z);
printf("a-- + a--=%d",y);
return 0;
}
Output:
++a + ++a=24 a-- + a--=23
Source Code(7iii):
//programs for question 7(iii)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = ++a + ++a + --a;
printf("++a + ++a + --a=%d\n",z);
return 0;
}
Output:
++a + ++a + --a=35
Source Code(7iv):
//programs for question 7(iv)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a & b, y = a && b;
printf("a&b=%d\n",z);
printf("a&&b=%d\n",y);
return 0;
}
Output:
a&b=0 a&&b=1
Source Code(7v):
//programs for question 7(v)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a | b, y = a || b;
printf("a|b=%d\n",z);
printf("a||b=%d\n",y);
return 0;
}
Output:
a|b=15 a||b=1
Source Code(7vi):
//programs for question 7(vi)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a > 10 || b < 5, y = a > 10 && b < 5;
printf("z=%d\n",z);
printf("y=%d\n",y);
return 0;
}
Output:
z=0 y=0
Source Code(7vii):
//programs for question 7(vii)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a == 10, y = a != 4;
printf("z=%d\n",z);
printf("y=%d\n",y);
return 0;
}
Output:
z=1 y=1
Source Code(7viii):
//programs for question 7(viii)
#include <stdio.h>
int main()
{
int a = 10, b = 5;
int z = a %= 2, y = b += 5;
printf("z=%d\n",z);
printf("y=%d\n",y);
return 0;
}
Output:
z=0 y=10