Problem:
Triangle

For given two sides of a triangle a and b and the angle C between them, calculate the following properties:

S: Area of the triangle

L: The length of the circumference of the triangle

h: The height of the triangle with side a as a bottom edge

Input

The length of a, the length of b and the angle C are given in integers.

Output

Print S, L and h in a line respectively. The output should not contain an absolute error greater than 10-4.

Sample Input

4 3 90

Sample Output

6.00000000
12.00000000
3.00000000

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Contexts;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
namespace AOJ {
    internal class Program {
        public static void Main(string[] args) { new Program().solve(); }
        void solve() {
            Func <double, double> rad = (theta) => theta * (Math.PI) / 180D;
            Func <double, double, double, double> area = (e1, e2, theta) => (e1 * e2 * Math.Sin(rad(theta))) / 2;
            Func <double, double, double, double> surroundings = (e1, e2, theta) =>
                e1 + e2 + Math.Sqrt(e1 * e1 + e2 * e2 - 2 * e1 * e2 * Math.Cos(rad(theta)));
            Func <double, double, double> height = (bottom, theta) => bottom * Math.Sin(rad(theta));
            var inputs = Console.ReadLine().Split().Select(v => int.Parse(v)).ToArray();
            var a = inputs[0];
            var b = inputs[1];
            var C = inputs[2];
            Console.WriteLine(area(a, b, C));
            Console.WriteLine(surroundings(a, b, C));
            Console.WriteLine(height(b, C));
        }
    }
}