C语言难点

#include<stdio.h>
struct date 
 {
 int y,m,d;
};
int fun(struct date *p)
 {
  int a=0;
  switch(p->m)
  {case 12:a+=30;//加上11月份的天数
  case 11:a+=31;//加上10月份的天数,以下依次类推
  case 10:a+=30;
  case 9:a+=31;
  case 8:a+=31;
  case 7:a+=30;
  case 6:a+=31;
  case 5:a+=30;
  case 4:a+=31;
  case 3:if(p->y%4==0&&p->y%100!=0||p->y%400==0) a+=29;else a+=28;
  case 2:a+=31;
  case 1:a+=p->d;
  }
 return a;
}
int main()
{
 struct date d,*pd;
 int i;
  char a,b;
 pd=&d;
 printf("以yy.mm.dd的格式输入一个日期\n");
 scanf("%4d%c%2d%c%2d",&pd->y,&a,&pd->m,&b,&pd->d);
 i=fun(pd);
 printf("是该年的第%d天\n",i);
 return;
}

 

posted @ 2013-10-03 17:11  cnsealine  阅读(129)  评论(0编辑  收藏  举报