C Program to find the Area of a Semicircle – In this particular article, we will detail in on the ways to find the area of a semicircle in C programming. The ways in which the area of a semicircle is calculated in this piece are as follows:
- Using Standard Method
- Using Function
- Using Pointers
- Using Macros
As we all know, a semicircle is exactly half that of a circle. A semicircle is cut right through the diameter of a circle. The diameter divides a circle into two semicircles.
The area of a circle can be calculated by multiplying half of its perimeter or circumference with that of its radius.
The area of a circle is
=> A = (1/2) πr^2 * r
=> A = πr^2.
Since a semicircle is equal to half of a circle, the area of a semicircle is also half of that of the area of a circle. Thus, the area of a semicircle is as follows:
A = (1/2) * πr^2
=> A = (1/2)πr^2.
Henceforth, this formula will be used in the upcoming Java programs to find the area of a semicircle. A semicircle is demonstrated in the image here:
Using Standard Method
- For calculating the area of the semicircle, we need the radius of a circle.
- The value of radius will store into the variable “r”.
- By substituting the “r” value into the formula then we will get the area of the semicircle, that will be assigned to the variable “area”
1 2 3 4 5 6 7 8 9 10 11 |
#include<stdio.h> int main() { int r; float area; printf("enter radius of the circle: "); scanf("%d",&r); area=(22*r*r)/(2*7); printf("AOSC: %f\n",area); return 0; } |
1 2 |
enter radius of the circle: 21 AOSC: 693.000000 |
Using Function
- We are using the function float area(float r) to calculate the area of the semicircle, the return type of this function is a float.
- Using area(r)we are calling the function which is having float type argument.
- The called function area(float r) calculates the area of a semicircle and returns the value, the return value will be assigned to the variable “a”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include<stdio.h> float area(float r) { return (22*r*r)/(7*2); } int main() { float a,r; printf("enter radius of the semicircle: "); scanf("%f",&r); a=area(r); printf("AOSC: %f\n",a); return 0; } |
1 2 |
enter radius of the semicircle: 7 AOSC: 77.000 |
Using Pointers
- We are calling the function by passing addresses as arguments using area(&r, &a)
- Then called function area(float *r, float *a) which is having pointers as arguments will calculate the area of the semicircle, and that value will store into the variable “a”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include<stdio.h> void area(float *r,float *a) { *a=(22*(*r)*(*r))/(2*7); } int main() { float r,a=1; printf("enter radius: "); scanf("%f",&r); area(&r,&a); printf("AOSC: %f\n",a); return 0; } |
1 2 |
enter radius: 28 AOSC: 1232.000000 |
Using Macros
- area(r) is a symbolic name to the expression (22*r*r)/(2*7).
- area(r) replaced with that expression given at #define.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include<stdio.h> #define area(r) (22*r*r)/(2*7); int main() { int r; float a=1; printf("enter radius: "); scanf("%d",&r); a=area(r); printf("AOSC: %f\n",a); return 0; } |
1 2 |
enter radius of the circle: 35 AOSC: 1925.000000 |