Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел - 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;
}

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

  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
Похожие ответы