用c语言编程 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

如题所述

#include<stdio.h>

struct y_m_d
{
    int year;
    int month;
    int day;
};

int days(struct y_m_d date)
{
    int sum=date.day;
    int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    int i;
    for(i=1; i<date.month; i++)
    {
        sum+=a[i];
    }
    if(date.month>2&&((date.year%4==0&&date.year%100!=0)||date.year%400==0)) //若闰年,且晚于2月,加一天
        sum++;
    return sum;
}

int main()
{
    struct y_m_d date;
    int day_sum;
    printf("请输入年月日(以空格隔开):");
    scanf("%d%d%d",&date.year,&date.month,&date.day);
    day_sum=days(date);
    printf("%d年%d月%d日是%d年的第%d天\n",date.year,date.month,date.day,date.year,day_sum);
    return 0;
}

执行结果如下:

输入:2016年3月1日

输出:该日是当年的第61天。2016年是闰年,所以3月1日是第61天=31+29+1

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网