Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел - C (СИ)
Формулировка задачи:
Написать программу,
которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел (длина последовательности не ограничена).
Решение задачи: «Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел»
textual
Листинг программы
- #include "stdlib.h"
- #include "locale.h"
- #include "string.h"
- int main(void)
- {
- setlocale (0,"RUS");
- int g=1, z=0, q=0 ;
- double max,num;
- char mass[128];
- char *word;
- printf("Поиск наибольшего отрицательного числа\n");
- printf("Введите отрицательные числа: ");
- gets_s ( mass );
- word=strtok(mass," ");
- printf("\n");
- while(word)
- {
- num=atof(word);
- if (num>=0)
- {
- printf("Введенное число не отрицательное\n");
- return 0;
- }
- printf("Число № %i = %.3f\n", g, num);
- word=strtok(0," ");
- g++;
- for (;z=0;)
- {
- max=num;
- z++;
- }
- if (num>=max)
- max=num;
- else;
- }
- printf("\nСамое большое число = %.3f\n", max);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
stdlib.h
для функции atof,locale.h
для функции setlocale,string.h
для функции strtok и strlen. - Установка русской локали: setlocale (0,
RUS
); - Объявление переменных: a. g=1 - счетчик чисел; b. z=0 - счетчик отрицательных чисел; c. q=0 - счетчик чисел для сравнения с максимальным числом; d. max — переменная для хранения максимального числа; e. num — текущее число; f. mass[128] — строка для ввода чисел с клавиатуры; g. word — указатель на текущее слово в строке; h. char strtok(char s, const char *delim); — функция для разделения строки на слова и получения текущего слова.
- Вывод сообщения и запрос ввода:
printf(
Поиск наибольшего отрицательного числа\n
); printf(Введите отрицательные числа:
); gets_s ( mass ); - Начало цикла while для обработки каждого числа:
while(word)
{
- Преобразование текущего слова в число: num=atof(word);
- Проверка на положительность числа:
if (num>=0)
{
printf(
Введенное число не отрицательное\n
); return 0; } - Вывод текущего числа и его номера:
printf(
Число № %i = %.3f\n
, g, num); - Увеличение счетчика чисел: g++;
- Счетчик z инициализируется нулем для каждого нового числа.
- Установка max равным текущему числу: max=num;
- Для счетчика q всегда выполняется цикл, но он не влияет на работу программы. }
- Вывод максимального числа:
printf(
\nСамое большое число = %.3f\n
, max); - Конец программы: return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д