Выяснить, верно ли, что сумма квадратов элементов массива есть пятизначное число - C (СИ)
Формулировка задачи:
Заполнить одномерный массив вводом с клавиатуры. Выяснить,верно ли,что сумма квадратов элементов массива есть пятизначное число.
Решение задачи: «Выяснить, верно ли, что сумма квадратов элементов массива есть пятизначное число»
textual
Листинг программы
#include <stdio.h>
int main(int argc, char *args[])
{
int n = 0, i = 0, *mas = NULL, sumSq = 0;
printf("Type digits count: ");
scanf("%d", &n);
mas = malloc(sizeof(int)*n);
for(i = 0; i<n; i++)//input mas
{
printf("Type mas[%d]=", i);
scanf("%d", &mas[i]);
}
for(i = 0; i<n; i++)
sumSq+=(mas[i]*mas[i]);
printf("%s\n", (sumSq<=99999&&sumSq>=10000)?"yes":"no");
free(mas);
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
n- счётчик количества вводимых пользователем цифр;i- счётчик для прохода по массиву;mas- указатель на начало блока памяти, выделенного под массив;sumSq- переменная для хранения суммы квадратов.
- Запрашивается у пользователя количество цифр.
- Выделяется память под массив.
- В цикле пользователь вводит числа и они сохраняются в массиве.
- В другом цикле инициализируется переменная
sumSqсуммой квадратов всех чисел массива. - Выводится на экран ответ, используя условный оператор: если сумма квадратов в пределах от 10000 до 99999, выводится слово
yes, иначеno. - Выделенная память освобождается.