Прокомментировать задачку по строкам - C (СИ)

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

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

#include <stdio.h>
#include <conio.h>
#include <math.h>
 
const int n = 3;
 
typedef struct 
      {
         int chisl,znam;
      }str;
 
int ravno(float a, float b)
  {
    if (a==b)
    return 1;
  }
 
float max(float a[n])
  {
    int i;
    float maxr;
    maxr = a[1];
    for(i=1; i<=n; i++)
    if(a[i] > maxr)
    maxr = a[i];
    return maxr;
  }
 
float min(float a[n])
   {
     int i;
     float minr;
     minr = a[1];
     for(i=1; i<=n; i++)
     if(a[i] < minr)
     minr = a[i];
     return minr;
   }
 
float summa(float a, float b)
      {
        float c = a + b;
        return c;
      }
 
int main()
{
    int i;
    str mas[n];
    float a[n];
    for(i=1; i<=n; i++)
            {
                printf("chisl %d=",i);
                scanf("%d",&mas[i].chisl);
                printf(" znam %d=",i);
                scanf("%d",&mas[i].znam);
                printf("\n");
                a[i] = (float)mas[i].chisl / mas[i].znam;
            }
    printf("vivod max chisla\n");
    printf("%f\n",max(a));
    
    printf("vivod min chisla\n");
    printf("%f\n",min(a));
    
    if(ravno(a[1],a[2]))
    printf("chisla 1 i 2 ravny\n");
    
    else 
    
    printf("chisla 1 i 2 ne ravny\n");
    
    printf("summa 1-go i 2-go chisla\n");
    printf("%f",summa(a[1],a[2]));
    
    getch();
    return 0;
}

Решение задачи: «Прокомментировать задачку по строкам»

textual
Листинг программы
#include <stdio.h>//подключение библиотек
#include <conio.h>
#include <math.h>
 
const int n = 3;//определение константы n
 
typedef struct // объявление структуры str с двумя полями целого типа
      {
         int chisl,znam;
      }str;
 
int ravno(float a, float b)// описание функции, которая возвращает "1" если переданные ей числа равны
  {
    if (a==b)
    return 1;
  }
 
float max(float a[n])// ф-ия ищет максимальный элемент массива "а" и возвращает его значение
  {
    int i;
    float maxr;
    maxr = a[1];
    for(i=1; i<=n; i++)
    if(a[i] > maxr)
    maxr = a[i];
    return maxr;
  }
 
float min(float a[n])// ф-ия ищет минимальный элемент массива "а" и возвращает его значение
   {
     int i;
     float minr;
     minr = a[1];
     for(i=1; i<=n; i++)
     if(a[i] < minr)
     minr = a[i];
     return minr;
   }
 
float summa(float a, float b)// ф-ия возвращает сумму переданных ей чисел
      {
        float c = a + b;
        return c;
      }
 
int main()
{
    int i;
    str mas[n];
    float a[n];
    for(i=1; i<=n; i++)// в цикле от 0 до n
            {
                printf("chisl %d=",i);
                scanf("%d",&mas[i].chisl);// считывание целого в поле chisl структуры i из массива структур
                printf(" znam %d=",i);
                scanf("%d",&mas[i].znam);// считывание целого в поле znam структуры i из массива структур
                printf("\n");
                a[i] = (float)mas[i].chisl / mas[i].znam;// сохранение в i-том элементы массива "а" значения дроби
            }
    printf("vivod max chisla\n");// вывод максимального числа
    printf("%f\n",max(a));
    
    printf("vivod min chisla\n");// вывод минимального числа
    printf("%f\n",min(a));
    
    if(ravno(a[1],a[2]))
    printf("chisla 1 i 2 ravny\n");//вывод, если второй и третий элементы массива "а" равны равны(нумерация в массиве с 0)
    
    else 
    
    printf("chisla 1 i 2 ne ravny\n");//вывод, если они не равны
    
    printf("summa 1-go i 2-go chisla\n");
    printf("%f",summa(a[1],a[2]));//вывод суммы 1-го и 2-го числа
    
    getch();//ожидание нажатия клавиши
    return 0;//выход из программы
}

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

  1. В этом коде используются следующие библиотеки: , , .
  2. Объявлена константа n со значением 3.
  3. Объявлена структура str с полями chisl и znam типа int.
  4. Функция ravno(float a, float b) возвращает 1, если a и b равны, и 0 в противном случае.
  5. Функция max(float a[n]) ищет максимальный элемент массива а и возвращает его значение.
  6. Функция min(float a[n]) ищет минимальный элемент массива а и возвращает его значение.
  7. Функция summa(float a, float b) возвращает сумму переданных ей чисел.
  8. В функции main() объявлены две переменные i типа int и две переменные a и mas типа float.
  9. В цикле от 0 до n происходит считывание целого числа в поле chisl структуры i из массива структур mas и сохранение в i-том элементе массива а значения дроби (float)mas[i].chisl / mas[i].znam.
  10. После цикла происходит вывод максимального числа с помощью функции printf() и функции max().
  11. После цикла происходит вывод минимального числа с помощью функции printf() и функции min().
  12. Если a[1] и a[2] равны, то выводится сообщение chisla 1 i 2 ravny, иначе выводится сообщение chisla 1 i 2 ne ravny.
  13. Выводится сумма 1-го и 2-го числа с помощью функции printf() и функции summa().
  14. В конце программы вызывается функция getch() для ожидания нажатия клавиши.
  15. Функция main() возвращает 0, что означает успешный выход из программы.

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


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

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

15   голосов , оценка 4.333 из 5
Похожие ответы