A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
定义一个结构体变量(包括年、月、日),计算该日在本年中为第几天?(注意考虑闰年问题),要求写一个函数days,实现上面的计算。由主函数将年月日传递给days函数,计算后将日子传递回主函数输出。
*/

#include <stdio.h>

int days (int y,int m,int d) {

    struct getDays{
        int year;
        int month;
        int day;
   
    }date = {y,m,d};
   
    int Jan= 31,Feb= 0,Mar= 31,Apr= 30,May= 31,Jun= 30,Jul= 31,Aug= 31,Sep= 30,Oct= 31,Nov= 30,Dec= 31,sum= 0;
   
    if (y % 400 == 0 || (y % 4 == 0 && y %100 != 0)) {
        Feb = 29;
    } else {
        Feb = 28;
    }
    int arr[12] = {Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};
   
    for (int i= 1; i != date.month; i++) {
        sum = sum + arr[i-1];
    }
   
    return sum = sum + date.day;
   
}

int main(int argc, const char * argv[]) {
    // insert code here...
   
    printf("该日期是该年的第%d天!\n",days(2015, 11, 11));
   
    printf("The end!\n");
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马