Распознать по длинам сторон среди всех треугольников прямоугольные - C (СИ)
Формулировка задачи:
Здравствуйте! Очень прошу помочь с проверкой программ. Язык Си.Надеюсь, что какой-нибудь добрый человек мне поможет=)
Программа 1.
Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольные. Если их нет, то вычислить величину угла с.
Программа 2.
Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.
Сразу скажу, что в программировании я полный 0 и кое-как написал программы. Очень надеюсь на помощь. Если что не так оформил, простите
#include<stdio.h> #include<math.h> void main () { double storona1,storona2,storona3,ugl; printf("\n введите значения: 1й стороны,2й стороны, 3й стороны "); scanf("%lf%lf%lf",&storona1,&storona2,&storona3); if(storona1==sqrt(storona2*storona2+storona3*storona3))|| (storona2==sqrt(storona1*storona1+storona3*storona3))|| (storona3==sqrt(storona1*storona1+storona2*storona2))) } printf("\n Данный треугольник является прямоугольным"); } else { ugl=cos((storona1*storona1+storona2*storona2-storona3*storona3)/2*storona1*storona2); printf("треугольник не прямоугольный, угол между 1й и 2й стороной:%lf",ugl); }
#include<stdio.h> #include<math.h> #include<conio.h> #include<stdlib.h> void main () { int n,k,i,j,summ; drscr(); printf("\n Введите значение чисел n"); scanf("%d,&n); printf("k:"); Scanf("%d,&k); m=malloc(sizeof(int)*5); for i=pow(10,n-1)-1; i<=pow(10,n)-1;i++); t=i; For(j=0;j<=n;j++){ n[j]=t % pow(10,n-1-j); t=t-m[j]+pow(10,n-1-j); } For (j=0;j,n;j++) summ=summ+m[j]; if(summ==k) printf("%d,j); } free(m);
Решение задачи: «Распознать по длинам сторон среди всех треугольников прямоугольные»
textual
Листинг программы
#include<stdio.h> #include<math.h> #include <stdlib.h> int main () { system("chcp 1251 > nul"); double storona1,storona2,storona3,ugl,s1,s2,s3; printf("\n введите значения: 1й стороны,2й стороны, 3й стороны "); scanf("%lf%lf%lf",&storona1,&storona2,&storona3); s1==sqrt(storona2*storona2+storona3*storona3); s2==sqrt(storona1*storona1+storona3*storona3); s3==sqrt(storona1*storona1+storona2*storona2); if (storona1==s1||storona2==s2||storona3==s3) printf("\n Данный треугольник является прямоугольным"); else ugl=cos((storona1*storona1+storona2*storona2-storona3*storona3)/2*storona1*storona2); printf("треугольник не прямоугольный, угол между 1й и 2й стороной:%lf",ugl); system("pause"); }
Объяснение кода листинга программы
В этом коде:
- Подключаются необходимые библиотеки.
- В функции main() после команды system(
chcp 1251 > nul
) устанавливается кодировка консоли в CP-1251 (Windows Cyrillic). - Объявляются переменные: стороны треугольника (storona1, storona2, storona3), длины сторон треугольника (s1, s2, s3), а также переменная для хранения угла между сторонами треугольника (ugl).
- Пользователю предлагается ввести значения сторон треугольника.
- С помощью функции scanf() вводятся значения сторон треугольника.
- Вычисляются длины сторон треугольника по формулам s1 = sqrt(storona2storona2+storona3storona3), s2 = sqrt(storona1storona1+storona3storona3), s3 = sqrt(storona1storona1+storona2storona2).
- С помощью условного оператора if() проверяется, является ли одна из сторон равной соответствующей длине стороны. Если это так, то выводится сообщение о том, что треугольник является прямоугольным.
- Если условие if() не выполняется, то вычисляется угол между первой и второй сторонами треугольника по формуле ugl = cos((storona1storona1+storona2storona2-storona3storona3)/2storona1*storona2).
- Выводится сообщение о том, что треугольник не является прямоугольным и вычисленный угол между первой и второй сторонами треугольника.
- В конце работы программы вызывается функция system(
pause
), которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет клавишу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д