Ну если срочно, можно так:
int n = int.Parse(Console.ReadLine());
List<double> a = new List<double>();
while (a.Count < n)
a.AddRange(Console.ReadLine().Split(' ').Select(double.Parse));
a = a.Take(n).ToList();
int k = a.IndexOf(a.Min());
(a[0], a[k]) = (a[k], a[0]);
Console.WriteLine(a.Aggregate(string.Empty, (x, y) => x += y + " "));
Если не спеша, можно оформить отдельным методом:
static void XChangeFirstWithMin<T>(IList<T> a) where T: IComparable<T>
{
int k = a.IndexOf(a.Min());
(a[0], a[k]) = (a[k], a[0]);
}
местами первый и минимальный элементы массива. На C#