Ввести стороны равностороннего треугольника. Найти площадь этого треугольника и его высоту - C (СИ)
Формулировка задачи:
В универе на первом курсе в первый день сразу задали лабораторную
помогите решить на си задачу:
Ввести стороны равностороннего треугольника. Найти площадь этого треугольника и его высоту. Результат вывести с точностью до трех знаков после запятой
Решение задачи: «Ввести стороны равностороннего треугольника. Найти площадь этого треугольника и его высоту»
textual
Листинг программы
#include <stdlib.h> // strtod #include <stdio.h> // printf, fgets #include <math.h> // sqrt double input_double(const char* const var_name) { static char buf[20]; double n; char* end; do { printf("Input %s: ", var_name); fgets(buf, sizeof(buf), stdin); n = strtod(buf, &end); } while( end == buf ); return n; } int main(void) { const double SQRT3_4 = sqrt(3) / 4.0; while( 1 ) { double leg = input_double("leg"); if( leg <= 0.0 ) { break; } double area = SQRT3_4 * leg * leg; printf("Area = %.3f\n", area); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами с плавающей точкой и вводом-выводом
- Определение функции input_double, которая считывает введенное значение и возвращает его в виде числа с плавающей точкой
- Определение функции main, которая является точкой входа в программу
- Объявление константы SQRT3_4, которая представляет собой корень из 3, деленный на 4
- Запуск цикла while, который продолжается до тех пор, пока пользователь не введет значение меньше или равное нулю
- Ввод значения длины стороны треугольника с помощью функции input_double и сохранение его в переменной leg
- Расчет площади треугольника по формуле S = (√3/4 leg leg) и сохранение ее в переменной area
- Вывод значения площади треугольника на экран с помощью функции printf
- Прерывание цикла while при вводе значения меньше или равного нулю
- Возврат значения 0 из функции main, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д