﻿ C Program: Get the absolute difference between n and 51 - w3resource

# C Exercises: Get the absolute difference between n and 51

## C-programming basic algorithm: Exercise-2 with Solution

Write a C program to get the absolute difference between n and 51. If n is greater than 51 return triple the absolute difference.

C Code:

``````#include <stdio.h>
int main(void){
printf("%d",test(53));
printf("\n%d",test(30));
printf("\n%d",test(51));
}

int test(int n)
{
const int x = 51;

if (n > x)
{
return (n - x)*3;
}
return x - n;
}
``````

Sample Output:

```6
21
0
```

Pictorial Presentation:

Flowchart:

## C Programming Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## C Programming: Tips of the Day

How does array [100] = {0} set the entire array to 0?

The behavior of this code in C is described in section 6.7.8.21 of the C specification (online draft of C spec): for the elements that don't have a specified value, the compiler initializes pointers to NULL and arithmetic types to zero (and recursively applies this to aggregates).

The behavior of this code in C++ is described in section 8.5.1.7 of the C++ specification (online draft of C++ spec): the compiler aggregate-initializes the elements that don't have a specified value.

Also, note that in C++ (but not C), you can use an empty initializer list, causing the compiler to aggregate-initialize all of the elements of the array:

`char array[100] = {};`

As for what sort of code the compiler might generate when you do this, take a look at this question: Strange assembly from array 0-initialization

Ref : https://bit.ly/3yxvK5c