Вычислить площадь поверхности тела - C (СИ)

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

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

Пользователь вводит значения высоты (h) правильной призмы и стороны (a) равностороннего треугольника, лежащего в ее основании. 1) Составить функцию, которая получает введенные значения в качестве параметров и возвращает значение площади полной поверхности (S) данного тела. Составить такую же функцию для вычисления его объема (V). 2) Пусть параметры призмы h и a – целые числа, лежащие в диапазоне [1;50]. Среди всех возможных призм с такими параметрами, используя составленные функции, найти призму, у которой значение отношения V/S ближе к единице, чем у остальных. 3) Составить функцию, которая по заданному объему куба находит значение его ребра. И с ее помощью вычислить ребро куба, объем которого равен объему найденной призмы.
#include<stdio.h>
#include<math.h>
double volume(int h, int a){
    double V;
    V=((a*a*sqrt(3))/2)*h;
    return V;}
 
double square(int h, int a){
    double S;
    S=3*a*h+((a*a*sqrt(3))/2);
    return S;}
 
double rebro(int V){
    double b;
    b=cbrt(V);
    return b;}
 
int main(void){
    int a,h,x,y,aopt,hopt,Vcube;
    double S,V,opt,k,b,V1;
    printf("h prizmi\n");
    scanf("%d",&h);
    printf("a treug\n");
    scanf("%d",&a);
    V1=volume(h,a);
    printf("V = %f\n",volume(h,a));
    printf("S = %f\n",square(h,a));
    opt=100;
    for (h=1;h<=50;h++){
        for(a=1;a<=50;a++){
            k=volume(h,a)/square(h,a);
            if (fabs(k-1)<opt){
                opt=fabs(k-1);
                aopt=a;
                hopt=h;}}}
    printf("a=%d; h=%d\n",aopt,hopt);
    printf("V\n");
    scanf("%d",&V1);
    
    printf("Rebro ravno V prizmi = %f\n",rebro(cbrt(V1)));
    return 0;
}

Решение задачи: «Вычислить площадь поверхности тела»

textual
Листинг программы
S=(double)3*a*h+((a*a*sqrt(3))/2);

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

  1. S - это переменная, которая содержит результат вычисления площади поверхности тела.
  2. a - это переменная, которая представляет собой значение основания тела.
  3. h - это переменная, которая представляет собой значение высоты тела.
  4. sqrt(3) - это функция, которая вычисляет квадратный корень из числа 3.
  5. 3*a*h - это вычисление площади основы тела, умноженной на высоту.
  6. (a*a*sqrt(3))/2 - это вычисление площади боковой поверхности тела, умноженной на квадратный корень из 3 и разделенной на 2.
  7. double - это тип данных, который используется для представления числа с плавающей точкой.
  8. 3*a*h - это выражение, которое представляет собой площадь основы тела, умноженную на высоту.
  9. (a*a*sqrt(3))/2 - это выражение, которое представляет собой площадь боковой поверхности тела, умноженную на квадратный корень из 3 и разделенную на 2.
  10. 3*a*h+(a*a*sqrt(3))/2 - это выражение, которое представляет собой общую площадь поверхности тела.

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


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

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

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