ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6-2 输入年份和天数,输出对应的年、月、日

2020-12-16 23:29:57  阅读:413  来源: 互联网

标签:年份 int 天数 31 month year yearday day 输入


要求定义和调用函数month_day ( year, yeardy, *****pmonth, *pday),通过参数pmonth和pday返回计算得出的月和日。例如,输入2000和61,分别返回3和1,即2000年的第61天是3月1日。

函数接口定义:

void month_day ( year, yeardy, *pmonth, *pday)

其中year是年,yearday是天数,****pmonth和pday是计算得出的月和日。

裁判测试程序样例:

# include <stdio.h>
void month_day ( int year, int yearday, int * pmonth, int * pday);

int main (void)
{
   int day, month, year, yearday; /*  定义代表日、月、年和天数的变量*/
   scanf ("%d%d", &year, &yearday );        
   month_day (year, yearday, &month, &day );/* 调用计算月、日函数  */ 
   printf ("%d %d %d\n", year, month, day );    
   return 0;    
}

/* 请在这里填写答案 */

输入样例:

2000  61

输出样例:

2000 3 1
void month_day ( int year, int yearday, int * pmonth, int * pday)
{
    int i,m=0;
    int a[12]={31,29,31,30,31,30,31,31,30,31,30,31},b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if((year%400==0)||(year%4==0&&year%100!=0))
    {for(i=0;yearday>0;i++)
       {
        if(yearday>a[i])
          {
            yearday-=a[i];
            m++;
          }
else break;
       }
    }
    else
    {
        for(i=0;yearday>0;i++)
       {
        if(yearday>b[i])
          {
            yearday-=b[i];
            m++;
          }
       else break;
       }
    }
    *pmonth=m+1;
    *pday=yearday;
}

标签:年份,int,天数,31,month,year,yearday,day,输入
来源: https://blog.csdn.net/qq_41994314/article/details/111305355

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有