C Exercises: Compute the sum of the three given integers. However, if any of the values is in the range 10..20 inclusive then that value counts as 0, except 13 and 17
31. Sum Three with Conditional Zeroing
Write a C program to compute the sum of the three given integers with some exceptions. If any of the values is in the range 10..20 inclusive, then that value will be considered as 0, except for 13 and 17.
C Code:
#include <stdio.h>
#include <stdlib.h>
// Function prototypes for 'test' and 'fix_num'
int test(int x, int y, int z);
int fix_num(int n);
int main(void){
// Printing the results of calling 'test' function with different arguments
printf("%d",test(4, 5, 7));
printf("\n%d",test(7, 4, 12));
printf("\n%d",test(10, 13, 12));
printf("\n%d",test(13, 12, 18));
}
// Definition of the 'test' function
int test(int x, int y, int z)
{
// Calling 'fix_num' function on each input and returning their sum
return fix_num(x) + fix_num(y) + fix_num(z);
}
// Definition of the 'fix_num' function
int fix_num(int n)
{
// Checking if 'n' is in the range (10, 13) or (18, 20) and returning 0 if true, otherwise returning 'n'
return (n < 13 && n > 9) || (n > 17 && n < 21) ? 0 : n;
}
Sample Output:
16 11 13 13
Pictorial Presentation:
Flowchart:

For more Practice: Solve these Related Problems:
- Write a C program to sum three integers, treating any value between 15 and 25 as zero, except for 19.
- Write a C program to add three numbers, skipping any value in the range 5 to 15, except for 10.
- Write a C program to compute the sum of three integers, considering numbers in the range 30..40 as zero, except for 35.
- Write a C program to sum three integers, but if a value is between 10 and 20, replace it with 1 unless it is 14.
C Programming Code Editor:
Previous: Write a C program to compute the sum of the three integers. If one of the values is 13 then do not count it and its right towards the sum.
Next: Write a C program to check two given integers and return the value whichever value is nearest to 13 without going over. Return 0 if both numbers go over.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.