输入年份和天数,输出对应的年 月 日(用指针实现)
#include "stdio.h"bool ifLeapYear(int year)//判断是不是云年
{
if((year%400==0)||((year%4==0)&&(year%100!=0)))
return true;
else
return false;
}
void main()
{
int year,date,i;
int month1[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int month2[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool flag;
printf("请输入年份和天数\n");
scanf("%d%d",&year,&date);
if(date>366)
{
printf("输入错误!\n");
return;
}
flag=ifLeapYear(year);
if(flag)
for(i=0;i<12;i++)
{
if(date<=month1[i]) break;
date=date-month1[i];
}
else
for(i=0;i<12;i++)
{
if(date<=month2[i]) break;
date=date-month2[i];
}
printf("是%d月%d号",i+1,date);
}
小弟的思路如上。。可换会指针就不懂了
指针的要求
void month_day (( int year,, int yearday,, int* pmonth, int * pday)
year和yearday 是输入的年份和天数
pmonth和pday是要输出的日期