Variadic Functions in C
Variadic Functions in C
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MIN_ELEMENT 1
#define MAX_ELEMENT 1000000
int sum(int count, ...)
{
va_list arr;
int t = 0;
va_start(arr, count);
while(count--){
t += va_arg(arr, int);
}
return t;
}
int test_implementations_by_sending_three_elements()
{
srand(time(NULL));
int elements[3];
int expected_elements_sum = 0;
for (int i = 0; i < 3; i++)
{
if (elements[i] < minimum_element)
{
return 0;
}
expected_elements_sum += elements[i];
}
int test_implementations_by_sending_five_elements()
{
srand(time(NULL));
int elements[5];
int expected_elements_sum = 0;
for (int i = 0; i < 5; i++)
{
if (elements[i] < minimum_element)
{
return 0;
}
expected_elements_sum += elements[i];
}
int test_implementations_by_sending_ten_elements()
{
srand(time(NULL));
int elements[10];
int expected_elements_sum = 0;
for (int i = 0; i < 10; i++)
{
if (elements[i] < minimum_element)
{
return 0;
}
expected_elements_sum += elements[i];
}
int main ()
{
int number_of_test_cases;
scanf("%d", &number_of_test_cases);
while (number_of_test_cases--)
{
if (test_implementations_by_sending_three_elements())
{
printf("Correct Answer\n");
}
else
{
printf("Wrong Answer\n");
}
if (test_implementations_by_sending_five_elements())
{
printf("Correct Answer\n");
}
else
{
printf("Wrong Answer\n");
}
if (test_implementations_by_sending_ten_elements())
{
printf("Correct Answer\n");
}
else
{
printf("Wrong Answer\n");
}
}
return 0;
}