Перевести с паскаля в си - C (СИ) (76639)
Формулировка задачи:
вот код:
var n,m,min:integer; begin min:=10; readln(n); repeat m:= n mod 10; n:=n div 10; if min>m then min:=m; until n=0; writeln(min); readln; end.
Решение задачи: «Перевести с паскаля в си»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int n, m, min, max;
min = 10;
max = 0;
scanf("%i", &n);
do {
m = n % 10;
n = n / 10;
if (min > m)
min = m;
if (max < m)
max = m;
} while (n != 0);
printf("min : %i\n"
"max : %i\n", min, max);
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с вводом/выводом (stdio.h).
- Объявление переменных: n, m, min, max типа int. Значение переменных инициализируются в коде.
- Установка начального значения переменных min и max.
- Считывание значения переменной n с помощью функции scanf.
- Запуск цикла do-while, который будет выполняться до тех пор, пока n не станет равным нулю.
- Внутри цикла происходит вычисление значения переменной m путем взятия остатка от деления n на 10.
- Затем значение переменной n обновляется путем целочисленного деления на 10.
- Далее происходит сравнение значения переменной m с текущими значениями min и max. Если min больше m, то обновляется значение min. Если max меньше m, то обновляется значение max.
- После выхода из цикла do-while, происходит вывод значений переменных min и max с помощью функции printf.
- Возврат 0, что означает успешный конец работы программы.