Вывести номер последнего числа в наборе, большего K - C (СИ)
Формулировка задачи:
Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер последнего числа в наборе, большего K. Если таких чисел нет, то вывести 0
Как можно перевести этот Паскаль код в Си?
Буду очень благодарен )
Var k,m,j,i:integer;
Begin
write('Введите k: ');readln(k);
i:=0;j:=0;
Repeat
inc(i);
write('Введите ',i,'-ое число(окончание ввода число 0): ');
readln(m);
if (k=m)and(j=0) then j:=i;
Until m=0;
writeln(j);
readln;
End.Решение задачи: «Вывести номер последнего числа в наборе, большего K»
textual
Листинг программы
#include "stdio.h"
int main(){
int k,i,m=0,n;
printf("k: ");
scanf("%d",&k);
printf("Enter numbers (for exit 0):\n");
for(i=1;
scanf("%d",&n),n;i++)
if(n>k)m=i;
printf("m=%d",m);
getchar();
getchar();
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление переменных: k, i, m=0, n
- Вывод сообщения с просьбой ввести число K
- Ввод числа K с помощью функции scanf
- Запуск цикла for, который будет выполняться до тех пор, пока пользователь не введет ноль
- Внутри цикла проверяется, является ли текущее введенное число больше K
- Если это так, то значение переменной m присваивается текущему значению i
- После окончания цикла выводится значение переменной m
- Программа ожидает два символа новой строки для завершения работы
- Возвращение значения 0, что означает успешное завершение программы