The area of a triangle is defined as the total area bounded by the three sides of a given triangle.
Area of a Triangle Formula:
-
If the base and height are given, the area of the triangle is determined using the formula
A = \(\frac{1}{2}*b*h\)
- If all sides are specified, the area of the triangle can be calculated using Heron’s formula:
sqrt((s) * (s-a) * (s-b) * (s-c)), where s is the semi perimeter of the triangle and and a, b & c are the sides of triangle.
Example 1:
Given base = 5, height = 10, so area of the triangle is
A = \(\frac{1}{2}*b*h\) => A = \(\frac{1}{2}*10*5\) => A = 25.
Example 2:
Given a=5, b=9, c=6
Area = sqrt((s) * (s-a) * (s-b) * (s-c))
So, s = (a + b + c)/2 = (5 + 9 + 6)/2 = 10
Area = sqrt (10 * (10 – 5) * (10 – 9) * (10 – 6)) = sqrt(10 * 5 * 1 * 4) = 14.142.
Write a C program to find the area of a triangle.
1. Input the sides of the triangle.
2. Calculate the area of triangle using formula \(\frac{1}{2}*b*h\) or sqrt((s) * (s-a) * (s-b) * (s-c)).
3. Print area of triangle.
Area of a Triangle in C can be found out in following ways:
- Find Area of Triangle using Formula
- Find Area of Triangle using Heron’s Formula
- Find Area of Triangle using Function
- Find Area of Triangle using Pointer
When the base and height of a triangle are provided, the area is (b*h)/2, where b is the base and h is the height.
Example:
When the base is 10, and the height is 5, the area is (10*5)/2 = 25.
When the base is 10, and the height is 20, the area is (10*20)/2 = 100
Here is source code of the C program to calculate the area of a triangle using formula. The C program is successfully compiled and run on a Linux system. The program output is also shown below.
/* * C program to find the area of a triangle using formula */ #include <stdio.h> void main() { float base,height; printf("Enter Base and Height: "); scanf("%f %f",&base,&height); float area = (base * height) / 2; //Area with precision of 2 decimal places printf("Area of Triangle is %0.2f",area); }
1. First, input the base and height of the triangle.
2. Calculate area using formula area = (base * height) / 2;
3. print the area. (In the above program the precision is of 2 decimal places, for which we have used %0.2f. For 5 decimal places use %0.5f)
Time Complexity: O(1)
In the above program there are no iterative statements, no function calls, the only operation performed is the input output, so the time complexity is O(1).
Space Complexity: O(1)
Since no auxiliary space is required, space complexity is O(1).
Testcase 1: In this case, the values entered to calculate the area of the triangle are base=”10″ and height=”5″.
Enter Base and Height: 10 5 Area of Triangle is 25.00
Testcase 2: In this case, the values entered to calculate the area of the triangle are base=”10″ and height=”20″.
Enter Base and Height: 10 20 Area of Triangle is 100.00
The area of a triangle when all its sides are given is: sqrt((s) * (s-a) *(s-b) * (s-c))), where s is the semi perimeter which is equal to (a+b+c)/2, and a, b, c are sides of the triangle.
Example:
If a=10, b=12, c=8
So, s = (a + b +c)/2 = 15
Area = sqrt (15 * (15-10) * (15 – 12) * (15 -8)) = sqrt(15 * 5 *3 *7) = 39.69.
Here is source code of the C program to calculate the area of a triangle using Heron’s formula. The C program is successfully compiled and run on a Linux system. The program output is also shown below.
/* * C program to find the area of a triangle using Heron's formula */ #include<stdio.h> #include<math.h> int main() { float a, b, c, s, area; printf("\nEnter three sides of triangle\n"); scanf("%f%f%f",&a,&b,&c); s = (a+b+c)/2; //Calculate area of triangle area = sqrt(s*(s-a)*(s-b)*(s-c)); //Area with 2 digits of precision printf("\n Area of triangle: %.2f\n",area); return 0; }
1. First, input the sides of the triangle and store them in the variables a, b and c.
2. Calculate area using formula sqrt(s*(s-a)*(s-b)*(s-c)), where s is the semiperimeter (s = (a+b+c)/2).
3. print the area.
Time Complexity: O(1)
In the above program there are no iterative statements, no function calls, the only operation performed is the input output, so the time complexity is O(1).
Space Complexity: O(1)
Since no auxiliary space is required, space complexity is O(1).
Testcase 1: In this case, the values entered to calculate the area of the triangle are a=”10″, b=”12″ and c=”8″.
Enter three sides of triangle 10 12 8 Area of triangle: 39.69
Testcase 2: In this case, the values entered to calculate the area of the triangle are a=”5″, b=”9″ and c=”6″.
Enter three sides of triangle 5 9 6 Area of triangle: 14.14
In this approach, we declare a function to calculate the area which takes the sides of a triangle as a parameter. Inside the function we calculate the area and return it.
Example:
If a=15, b=14, c=2
So, s = (a + b +c)/2 = 15.5
Area = sqrt (15.5 * (15.5 – 15) * (15.5 – 14) * (15.5 – 2)) = sqrt(15.5 * 0.5 * 1.5 * 13.5) = 12.53.
Here is source code of the C program to calculate the area of a triangle using function. The C program is successfully compiled and run on a Linux system. The program output is also shown below.
/* * C program to find the area of a triangle using function */ #include<stdio.h> #include<math.h> //Function to calculate area float calc_area(float a,float b,float c) { float s = (a+b+c)/2; //Return area of triangle return sqrt(s*(s-a)*(s-b)*(s-c)); } int main() { float a, b, c, s, area; printf("\nEnter three sides of triangle\n"); scanf("%f%f%f",&a,&b,&c); //Area with 2 digits of precision printf("\n Area of triangle: %.2f\n", calc_area(a,b,c)); return 0; }
1. First, input the sides of the triangle and store them in the variables a, b and c.
2. Declare a function which takes the sides of a triangle as a parameter.
3. Inside the function, calculate the area using formula sqrt(s*(s-a)*(s-b)*(s-c)) and return it.
4. Call the function from main function.
5. print the area.
Time Complexity: O(1)
In the above program there are no iterative statements, no function calls, the only operation performed is the input output, so the time complexity is O(1).
Space Complexity: O(1)
Since no auxiliary space is required, space complexity is O(1).
Testcase 1: In this case, the values entered to calculate the area of the triangle are a=”15″, b=”14″ and c=”2″.
Enter three sides of triangle 15 14 2 Area of triangle: 12.53
Testcase 2: In this case, the values entered to calculate the area of the triangle are a=”5″, b=”9″ and c=”6″.
Enter three sides of triangle 5 9 6 Area of triangle: 14.14
In this approach, we declare a function to calculate the area which takes the sides and a pointer to the area as a parameter. Inside the function we calculate the area using heron’s formula (semi-perimeter method).
Here is source code of the C program to calculate the area of a triangle using pointer. The C program is successfully compiled and run on a Linux system. The program output is also shown below.
/* * C program to find the area of a triangle using pointer */ #include<stdio.h> #include<math.h> // Function to calculate area void calc_area(float a,float b,float c,float *area) { float s = (a+b+c)/2; // Storing area at memory location of area by dereferencing it *area = sqrt(s*(s-a)*(s-b)*(s-c)); } int main() { float a, b, c, area; printf("\nEnter three sides of triangle\n"); scanf("%f%f%f",&a,&b,&c); // Calling function to calculate area calc_area(a,b,c,&area); //Area with 2 digits of precision printf("\n Area of triangle: %.2f\n",area); return 0; }
1. First, input the sides of the triangle and store them in the variables a, b and c.
2. Declare a function which takes the sides of a triangle and a pointer to an area as a pointer.
3. Inside the function, calculate the area using formula sqrt(s*(s-a)*(s-b)*(s-c)) and store it inside the area.
4. Call the function from main function.
5. print the area.
Time Complexity: O(1)
In the above program there are no iterative statements, no function calls, the only operation performed is the input output, so the time complexity is O(1).
Space Complexity: O(1)
Since no auxiliary space is required, space complexity is O(1).
In this case, the values entered to calculate the area of the triangle are a=”15″, b=”14″ and c=”2″.
Enter three sides of triangle 15 14 2 Area of triangle: 12.53
To practice programs on every topic in C, please visit “Programming Examples in C”, “Data Structures in C” and “Algorithms in C”.
- Apply for Computer Science Internship
- Apply for C Internship
- Watch Advanced C Programming Videos
- Check C Books
- Practice Computer Science MCQs