Переписать программу из Паскаля в C - C (СИ)
Формулировка задачи:
Люди добрые, помогите. Нужна эта же программа, но в Си (C).
Код Pascal
program pr1_9; uses crt; var mas: array[1..100] of integer ; n,i,j,k: integer; begin clrscr; writeln('Bvedite kol elementov posled (ne bolshe 100); '); read(n); writeln('Bvedite posledov'); for i:=1 to n do read(mas[i]); k:=0; for j:=1 to 20 do for i:=1 to n do if (mas[i]=(2*j*2*j) ) then k:=k+1; writeln('Kol = ',k); readln; readln; end.
Решение задачи: «Переписать программу из Паскаля в C»
textual
Листинг программы
#include <stdio.h> int main( int argc, char *argv[] ) { printf( "Введите количество элементов последовательности, (не больше 100): " ); int n; scanf( "%d", &n ); printf( "Введите последовательность:\n" ); int a[ n ]; for ( int i = 0; i < n; i++ ) { scanf( "%d", &a[ i ] ); } int answer = 0; int k; int factorial_k = 1; for ( int i = 0; i < n; i++ ) { k = i + 1; factorial_k *= k; if ( 2 * k < a[ i ] && a[ i ] < factorial_k ) { ++answer; } } printf( "Ответ: %d\n", answer ); return 0; }
Объяснение кода листинга программы
- Ввод количества элементов последовательности с помощью функции scanf.
- Ввод самой последовательности с помощью цикла for и функции scanf.
- Инициализация переменных answer, k и factorial_k.
- Цикл for для вычисления факториала k и проверки условия для каждого элемента последовательности.
- Увеличение значения переменной answer, если условие выполняется.
- Вывод результата с помощью функции printf.
- Возврат значения 0, означающего успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д