Новая редакция.
В этой программе сгруппированы задачи, которым для работы нужно либо 6 чисел, либо одно рациональное число.
/* p11
Язык Turbo C 2.0
Основы программирования
Переменные: int - 6, float - 1 */
/* 1 - 21k, 2 - 22k, 3 - 23k, 5 - 24k */
#include <conio.h>
#include <math.h>
#include <stdio.h>
float p (int, int, int, int); /* расстояние между двумя точками на плоскости */
float q (float, float, float); /* формула Герона */
main ()
{
int a, b, c, d, e, f; /* исходные данные */
float g; /* исходные данные */
float j, k, l, m;
int s, t, u, v;
printf ("Введите шесть целых чисел: ");
scanf ("%i%i%i%i%i%i", &a, &b, &c, &d, &e, &f);
printf ("Введите рациональное число: ");
scanf ("%f", &g);
/* 11.1.1. */
printf ("1. %i / %i / (%i / %i) = %i / %i.\n", a, b, c, d, a * d, b * c);
/* 21.1.6. Даны декартовы координаты трех вершин треугольника на
плоскости. Составить алгоритм определения площади треугольника. */
j = p (a, b, c, d);
k = p (a, b, e, f);
l = p (c, d, e, f);
m = q (j, k, l);
printf ("2. Площадь треугольника %.4g.\n", m);
/* 21.2.7. Дана скорость ракеты при выходе за пределы атмосферы Земли.
Составить алгоритм определения того, как будет двигаться ракета после
выключения двигателей. (Напомним величины трех космических скоростей:
7,5 км/с; 11,2 км/с; 16,4 км/с.) */
printf ("3. ");
if (g < 7.5) printf ("Ракета упадет на Землю.\n");
else if (g == 7.5) printf ("Ракета будет двигаться по круговой орбите вокруг Земли.\n");
else if (g < 11.2) printf ("Ракета будет двигаться вокруг Земли по эллипсу.\n");
else if (g == 11.2) printf ("Ракета улетит от Земли по параболе.\n");
else if (g < 16.4) printf ("Ракета будет двигаться вокруг Солнца по эллипсу.\n");
else if (g == 16.4) printf ("Ракета улетит от Солнца по параболе.\n");
else printf ("Ракета улетит от Солнца по гиперболе.\n");
/* 64.2.28. В следующем фрагменте программы вычисляется сумма конечного
числа членов гармонического ряда
1 + 1 / 2 + 1 / 3 + ... + 1 / i + ...
Суммирование прекращается, когда очередное слагаемое становится меньше
epsilon или целая переменная i достигает значения maxint. */
j = 0;
s = 1;
while (1)
{
k = 1. / s;
if (k < g) break;
j += k;
if (s == 32767) break;
s++;
}
printf ("4. Сумма гармонического ряда равна %.4g.\n", j);
/* 68.4.32. Вычислить сумму квадратов всех целых чисел, попадающих в
интервал (ln x, exp x). */
j = g > 0 ? g : 1;
k = log (j);
l = exp (j);
s = k;
if (s <= k) s++;
t = l;
if (t == l) t--;
u = 0;
for (v = s; v < t + 1; v++) u += v * v;
printf ("5. Сумма квадратов целых чисел %i.\n", u);
getch ();
printf ("\n");
}
float p (int a, int b, int c, int d)
{
int e;
e = (a - c) * (a - c) + (b - d) * (b - d);
if (e < 0) e = 0;
return sqrt (e);
}
float q (float a, float b, float c)
{
float d, e;
d = (a + b + c) / 2;
e = d * (d - a) * (d - b) * (d - c);
if (e < 0) e = 0;
return sqrt (e);
}
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев