2 amend answer again
source | link

C# 255

Ungolfed

static void Main(string[] a)
    {
        int y = Int32.Parse(Console.ReadLine());
        DateTime d = new DateTime(y, 1, 1);
        while (d.Year==yYear == y)
        {
            if (d.DayOfWeek == DayOfWeek.Sunday && d.Day>(DateTime.DaysInMonth(y,d.Month)-7))
                Console.WriteLine(d.ToShortDateString());
d=d            d = d.AddDays(1);
        }
        Console.ReadKey();
    }

NoteEdit: some date in example output for this question are missing- see timeanddate.commodified to print only the last Sunday :)

C# 255

Ungolfed

static void Main(string[] a)
{
int y = Int32.Parse(Console.ReadLine());
DateTime d = new DateTime(y, 1, 1);
while(d.Year==y)
{
if (d.DayOfWeek == DayOfWeek.Sunday)
Console.WriteLine(d.ToShortDateString());
d=d.AddDays(1);
}
Console.ReadKey();
}

Note: some date in example output for this question are missing- see timeanddate.com

C# 255

Ungolfed

static void Main(string[] a)
    {
        int y = Int32.Parse(Console.ReadLine());
        DateTime d = new DateTime(y, 1, 1);
        while (d.Year == y)
        {
            if (d.DayOfWeek == DayOfWeek.Sunday && d.Day>(DateTime.DaysInMonth(y,d.Month)-7))
                Console.WriteLine(d.ToShortDateString());
            d = d.AddDays(1);
        }
        Console.ReadKey();
    }

Edit: modified to print only the last Sunday :)

1
source | link

C# 255

Ungolfed

static void Main(string[] a)
{
int y = Int32.Parse(Console.ReadLine());
DateTime d = new DateTime(y, 1, 1);
while(d.Year==y)
{
if (d.DayOfWeek == DayOfWeek.Sunday)
Console.WriteLine(d.ToShortDateString());
d=d.AddDays(1);
}
Console.ReadKey();
}

Note: some date in example output for this question are missing- see timeanddate.com