如何用C语言循环结构实现输入年份天数输出几月几日?

如何用C语言循环结构实现输入年份天数输出几月几日?尽可能的用上循环结构,C语言作业,谢谢大佬  :)。

首先判断输入的年份是不是闰年,是闰年的情况下2月份29天,一年366天,不是闰年二月份28天,一年365天,把每个月分别是几天,用个数组存储,然后循环处理。你看下以下范例代码:

#include <stdio.h>
#define ISLEAP(y) ((y)%400==0||(y)%4==0&&(y)%100!=0)
void MonthDay(int year,int yearDay,int *pMonth,int *pDay);
int main(void) 
{
    int year,yearDay,month,day;
    while(scanf("%d%d",&year,&yearDay)!=EOF)
    {
        MonthDay(year,yearDay,&month,&day);
        printf("%d-%d-%d\n",year,month,day);
    }
    return 0;
}
void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
    int i,date[]={31,28,31,30,31,30,31,31,30,31,30,31};
    for(i=0,*pMonth=1;yearDay>date[i];++i,++*pMonth)
    {
        yearDay-=i==1?date[i]+ISLEAP(year):date[i];
    }
    if(yearDay==0)
    {
        --*pMonth;
        *pDay=*pMonth-1==1?date[*pMonth-1]+ISLEAP(year):date[*pMonth-1];
    }
    else
    {
        *pDay=yearDay;
    }
}

你看看能不能解决你的问题,如果可以换请采纳,如果无法解决可以继续追问,谢谢。

这种的直接参看<time.h>头文件的内容啊,或者直接看struct tm这个结构体,专门处理时间的。详情可以参考下https://blog.csdn.net/xuefu2008/article/details/4656802,或者自己百度下多找几个看看

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html