#include <stdio.h>
int main(void) {
int Y[12];
long int mult = 1;
for (int i = 0; i < 12; i++) {
printf("\nY[%d]=", i);
scanf("%d", &Y[i]);
}
for (int i = 0; i < 12; i++) {
mult *= Y[i];
}
printf("\n%f", pow(mult, 1.0/12));
return 0;
}
Функция scanf() является процедурой ввода общего назначения, считывающей
данные из потока stdin. Она может считывать данные всех базовых типов и
автоматически конвертировать их в нужный внутренний формат. Если бы
printf() выполняла ввод, а не вывод, ее можно было бы назвать аналогом
scanf().
Функция printf() записывает в stdout аргументы из списка arg-list под управлением строки, на которую указывает аргумент format.
Функция pow() возвращает значение base, возведенное в степень ехр, т. е. baseexp.
Переполнение вызывает ошибку области значений. Также может возникнуть
ошибка области определения.
В VBasic создаете командную кнопку и копируете из файла программу кроме первой и последней строк
1. Делим число в 10СС на два и записываем остатки справа налево (в скобках - остаток)
53 / 2 = 26 (1)
26 / 2 = 13 (0)
13 / 2 = 6 (1)
6 / 2 = 3 (0)
3 / 2 = 1 (1)
1 / 2 = 0 (1)
53(10) = 110101(2)
2. Умножаем каждый двоичный разряд справа налево на степень двойки, начиная с нулевой.
111001(2) = 1*2^5 + 1*2^4 + 1*2^3 +0*2^2 + 0*2^1 + 1*2^0 = 32 + 16 + 8 + 0 + 0 + 1 = 57(10)
3. Правило простое. 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10;
4. Сами догадайтесь.