Прокомментировать задачку по строкам - 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;//выход из программы }
Объяснение кода листинга программы
- В этом коде используются следующие библиотеки:
, , . - Объявлена константа n со значением 3.
- Объявлена структура str с полями chisl и znam типа int.
- Функция ravno(float a, float b) возвращает 1, если a и b равны, и 0 в противном случае.
- Функция max(float a[n]) ищет максимальный элемент массива
а
и возвращает его значение. - Функция min(float a[n]) ищет минимальный элемент массива
а
и возвращает его значение. - Функция summa(float a, float b) возвращает сумму переданных ей чисел.
- В функции main() объявлены две переменные i типа int и две переменные a и mas типа float.
- В цикле от 0 до n происходит считывание целого числа в поле chisl структуры i из массива структур mas и сохранение в i-том элементе массива
а
значения дроби (float)mas[i].chisl / mas[i].znam. - После цикла происходит вывод максимального числа с помощью функции printf() и функции max().
- После цикла происходит вывод минимального числа с помощью функции printf() и функции min().
- Если a[1] и a[2] равны, то выводится сообщение
chisla 1 i 2 ravny
, иначе выводится сообщениеchisla 1 i 2 ne ravny
. - Выводится сумма 1-го и 2-го числа с помощью функции printf() и функции summa().
- В конце программы вызывается функция getch() для ожидания нажатия клавиши.
- Функция main() возвращает 0, что означает успешный выход из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д