#import <Foundation/Foundation.h>
// 结构体可以看成是轻量级的类(面向对象编程中的);
// 定义一个年月日结构体数据类型 并重命名
typedef struct data
{
int year;
int month;
int day;
}data;
//------------
// 确定闰年的函数
int leapyear(int year);
int leapyear(int year)
{
int leap = 0;
if ((year%4 == 0 &&year%100 != 0) || (year%400 ==0))
{
printf("此年为闰年\n");
leap = 1;
}
return leap;
}
//**********************
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
//*0 接收输入的年月日
// 定义一个结构体变量
data ymd;
printf("请按格式输入年月日,如2008-8-8:\n");
scanf("%d-%d-%d",&ymd.year,&ymd.month,&ymd.day);
printf("你输入的年月日为:%d年%02d月%02d日\n",ymd.year,ymd.month,ymd.day);
//*1 确认输入的年为闰年否 是则为1 不是则为0
int leap = leapyear(ymd.year);
//*2.0 给12个月中的每个月赋相应的天数 (此为简略写法)
int summ[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
// * 2.1 如果是闰年2月加1天
if (leap)
{
summ[2] += 1;//summ[2] = 29; summ[2]为二月份的天数;
}
//*3 算出第几天 sum
// * 3.1 确定在这天之前有几个月 ,累计算出相应的天数
int sum = 0;
for (int i = 0; i < ymd.month;i++ )
{
sum += summ[i];
}
// * 3.1 加上本月的天数 即当前的日
sum += ymd.day;
printf("此日为本年的第%d天!\n",sum );
}
return 0;
}