直播带货服务

结构变量的应用案例

结构变量的应用案例

案例描述】

以下程序输入年月日,输出该日是本年中的第几天。请将代码补充完整。

main()

{ struct{int y,m,d;}(   );

  int n;

  scanf("%4d%2d%2d",&day.y,&day.m,&day.d);

  n=day.d+(day.m-1)*30;

  n+=day.m/2+(day.m==9)+(day.m==11);

  if(day.m>2)

    if(day.y%400==0||(day.y%4==0 && day.y%100))(    );else (   );

  printf("%d",n);}


案例分析】

以上代码的求解思路是:

1、先假定每月30天,计算总天数:n=day.d+(day.m-1)*30

2、再加上大月天数:day.m/2+(day.m==9)+(day.m==11)

3、再根据是否为闰年修正2月的天数。

【参考代码】

main()

{ struct{int y,m,d;}day;

  int n;

  scanf("%4d%2d%2d",&day.y,&day.m,&day.d);

  n=day.d+(day.m-1)*30;

  n+=day.m/2+(day.m==9)+(day.m==11);

  if(day.m>2)

     if(day.y%400||(day.y%4==0 && day.y%100))n-=1;else n-=2;

  printf("%d",n);

}


© Copyright 六六互联.Some Rights Reserved.www.ic.vip