题目:
给定的整数n,计算一年中的第n天是几月几日。
假定年份是平年,即2月有28天。
解答:
#include <stdio.h>
struct date{
int month; // 月
int day; // 日
};
typedef struct date Date;
Date to_date(int n);
int main()
{
Date date;
int n;
scanf("%d", &n);
date = to_date(n);
printf("%d %d", date.month, date.day);
return 0;
}
Date to_date(int n)
{
Date a;
int yue[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i= 0;
int num = 0;
for(i = 0;i < 12;i++)
{
num += yue[i];
if(n <= num)
{
a.month = i + 1;
a.day = n - (num - yue[i]);
break;
}
}
return a;
}
注意下标超界会引起不可预知的错误!!!