Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Функция average вычисляет среднее арифметическое заданных аргументов: #include <stdio.h> #include <stdarg.h> int average(int first, ... ); int main( void ) { int x; <Вызов фукнции average()>; return 0; } int average( int first, ... ) { i
Функция average
вычисляет среднее арифметическое заданных аргументов:
#include <stdio.h>
#include <stdarg.h>
int average(int first, ... );
int main( void )
{
int x;
<Вызов фукнции average()>;
return 0;
}
int average( int first, ... )
{
int count = 0, sum = 0, i = first;
va_list marker;
va_start(marker, first);
while( i != -1 ) {
sum += i;
count++;
i = va_arg(marker, int);
}
va_end(marker);
return( sum ? (sum / count) : 0 );
}
В результете какого вызова функции average
значение переменной x
будет равно 2?
вопрос
Правильный ответ:
x = average(2, 3, 4, -1);
x = average(2, 3, 1, 2, -1);
x = average(2, 2);
Сложность вопроса
75
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Если бы не опубликованные подсказки - я бы не справился c этими тестами intuit.
06 сен 2019
Аноним
Я сотрудник университета! Прямо сейчас удалите сайт vtone.ru с ответами интуит. Не ломайте образование
22 ноя 2017
Другие ответы на вопросы из темы программирование интуит.
- # Какая программа выводит на экран все строки из файла?
- # Какое объявление структур(-ы) не содержит ошибку?
- # Чему будет равен результат вычисления b - a, если переменные имеют заданные значения? int a = 2*SCHAR_MAX; int b = UCHAR_MAX;
- # Какая программа выполняет поиск максимального элемента в массиве?
- # В приведенной программе выполняется перераспределение памяти для увеличения размерности массива: #include <stdio.h> #include <stdlib.h> #define N 10 int main(void) { int i; int *arr = (int *)malloc(N*sizeof(int)); if (!arr) { printf("\nERROR! Out of memory in calloc() function. Press any key: "); _getch(); exit(1); }; for (i=0; i<N; i++) { arr[i] = i+1; printf("arr[%d] = %d\n", i, arr[i]); } arr = (int *)realloc(arr, (N+2)*sizeof(int)); if (!arr) { printf("\nERROR! Out of memory in realloc() function. Press any key: "); _getch(); exit(1); }; for (i=N; i<N+2; i++) { arr[i] = i+1; printf("arr[%d] = %d\n", i, arr[i]); } free(arr); return 0; } Какие изменения необходимо внести в программу для ее корректной работы?