Переписать программу из Паскаля в 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, означающего успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д