/*
Программа расчета синуса.
Версия 0.1
Лицензия свободная.
*/

#include <stdio.h>

int main(void)
{
	// вроде все объявления переменных нужно вначале писать
	int n = 3;
	int sign = 1;
	float k;
	float pi = 3.1415926535897932384626433832795; // float это 7 цифр вроде
	float pi2 = 2 * pi;
	float sinus;
	float angle;
	float angle2;
	float oldsinus = 0;

	puts("Расчет синуса угла.");
	puts("Введите угол в радианах.");
	scanf("%f", &angle);

	// приведение угла к [0; pi/2] чтоб быстрее считать
	k = angle;
	if (k < 0) {
		sign = -1;
		k *= -1;
	}
	if (k > pi2) {
		k -= pi2 * (int)(k / pi2);
	}
	if (k > pi * 1.5) {
		sign *= -1;
		k = pi2 - k;
	}
	else if (k > pi) {
		sign *= -1;
		k -= pi;
	}
	else if (k > pi / 2) {
		k = pi - k;
	}

	// собственно расчет синуса
	sinus = k;
	angle2 = k * k;
	while (oldsinus != sinus) {
		k *= -1 * angle2 / n / (n - 1);
		oldsinus = sinus;
		sinus += k;
		//printf("%.7f\n", sinus); // для отладки
		n += 2;
	}
	sinus *= sign;

	printf("Синус равен %f\n", sinus);

	return 0;
}