sayfa başı

22 Şubat 2019 Cuma

C Çalışma Soruları – 7 (yılın günü)

Necati Ergin Hocamın kendi sayfasında bulunan çalışma sorularını ve cevaplarını burada yanıtlamaya çalıştım. Sorulara buradan ulaşabilirsiniz.

Kendisine gün, ay ve yıl olarak gönderilen tarihin yılın kaçıncı günü olduğunu hesaplayan day_of_year isimli işlevi tanımlayın:

 int day_of_year(int day, int mon, int year);

İşlevin geri dönüş değeri day/month/year tarihinin year yılının kaçıncı günü olduğu bilgisi.Artık yılları (leap years) göz önüne almayı unutmayınız.

Yanıt:


#include <stdio.h>
#include <stdlib.h>

/*
* C çalışma soruları – 7 (yılın günü)
*/

int day_of_year(int day, int mon, int year)
{
    int i;
    int totalDay = 0;
    int mth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 
 
    // leap year
    if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)))
    {
        mth[1] = 29;     
    } 
     
    for (i = 0; i < mon-1; i++)
    {
        totalDay += mth[i];
    }
 
    totalDay += day;
 
    return totalDay;
} 
 
int main(void)
{
    int day=29, month=1, year=2050;
 
    printf("The day of the year %d \n", day_of_year(day, month, year) );
    
    return 0; 
}

Hiç yorum yok:

Yorum Gönder

Son Ütücü