⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8_08.c

📁 浙大颜晖视频课件
💻 C
字号:
/*
【例8-8】输入年份和天数,输出对应的年、月、日。要求定义和调用函数month_day ( year, yeardy, *pmonth, *pday),其中year是年,yearday是天数,*pmonth和*pday是计算得出的月和日。例如,输入2000和61,输出2000-3-1,即2000年的第61天是3月1日。
*/

/*  使用指针作为函数参数返回多个函数值的示例 */
# include <stdio.h>
int main (void)
{
    int day, month, year, yearday;             /*  定义代表日、月、年和天数的变量*/
    void month_day(int year,int yearday, int *pmonth,int *pday);/*声明计算月、日的函数*/

    printf("input year and yearday: ");	       /* 提示输入数据:年和天数 */
    scanf ("%d%d", &year, &yearday );		
    month_day (year, yearday, &month, &day );  /* 调用计算月、日函数  */ 
    printf ("%d-%d-%d \n", year, month, day );	

    return 0;	
}
void month_day ( int year, int yearday, int * pmonth, int * pday)
{
    int k, leap;
    int tab [2][13]= {
       {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
       {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
    };  /* 定义数组存放非闰年和闰年每个月的天数 */

    leap=year%4==0 && year% 100!= 0 || year%400==0; /* 建立闰年判别条件leap */
          /* 如果leap=1,表示为闰年,从tab[1][k]中取k月的天数;否则为非闰年  */
   
    for ( k=1; yearday>tab[leap][k]; k++)
        yearday -= tab [leap][k];
    * pmonth = k;
    *pday = yearday;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -