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

 我来答
碧海风云

2017-06-14 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10280

向TA提问 私信TA
展开全部
#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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式