Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать программу,

которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел (длина последовательности не ограничена).

Решение задачи: «Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел»

textual
Листинг программы
  1. #include "stdlib.h"
  2. #include "locale.h"
  3. #include "string.h"
  4.  
  5. int main(void)
  6. {
  7.     setlocale (0,"RUS");
  8.  
  9.     int g=1, z=0, q=0 ;
  10.     double max,num;
  11.     char mass[128];
  12.     char *word;
  13.  
  14.     printf("Поиск наибольшего отрицательного числа\n");
  15.     printf("Введите отрицательные числа: ");
  16.     gets_s ( mass );
  17.  
  18.  
  19.     word=strtok(mass," ");
  20.     printf("\n");
  21.  
  22.  
  23.     while(word)
  24.     {
  25.     num=atof(word);
  26.  
  27.     if (num>=0)
  28.         {
  29.             printf("Введенное число не отрицательное\n");
  30.             return 0;
  31.         }
  32.  
  33.     printf("Число № %i = %.3f\n", g,  num);
  34.     word=strtok(0," ");
  35.     g++;
  36.  
  37.     for (;z=0;)
  38.     {
  39.         max=num;
  40.         z++;
  41.     }
  42.  
  43.  
  44.     if (num>=max)
  45.         max=num;
  46.     else;
  47.  
  48.  
  49.     }
  50.  
  51.     printf("\nСамое большое число = %.3f\n", max);
  52.     return 0;
  53. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: stdlib.h для функции atof, locale.h для функции setlocale, string.h для функции strtok и strlen.
  2. Установка русской локали: setlocale (0,RUS);
  3. Объявление переменных: 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); — функция для разделения строки на слова и получения текущего слова.
  4. Вывод сообщения и запрос ввода: printf(Поиск наибольшего отрицательного числа\n); printf(Введите отрицательные числа:); gets_s ( mass );
  5. Начало цикла while для обработки каждого числа: while(word) {
    1. Преобразование текущего слова в число: num=atof(word);
    2. Проверка на положительность числа: if (num>=0) { printf(Введенное число не отрицательное\n); return 0; }
    3. Вывод текущего числа и его номера: printf(Число № %i = %.3f\n, g, num);
    4. Увеличение счетчика чисел: g++;
    5. Счетчик z инициализируется нулем для каждого нового числа.
    6. Установка max равным текущему числу: max=num;
    7. Для счетчика q всегда выполняется цикл, но он не влияет на работу программы. }
  6. Вывод максимального числа: printf(\nСамое большое число = %.3f\n, max);
  7. Конец программы: return 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы