您的位置:首页 > 其它

2.输入某年某月某日,判断这一天是这一年的第几天?

2011-03-30 23:23 405 查看
题目:输入某年某月某日,判断这一天是这一年的第几天?

方法一:

#include<stdio.h>

void main()

{

int year,month,daily,sum;

while(1)

{

printf("请输入年月日:/n");

scanf("%d%d%d",&year,&month,&daily);

switch(month)

{

case 1:{sum=daily;break;}

case 2:{sum=31+daily;break;}

case 3:{sum=31+28+daily;break;}

case 4:{sum=31+28+31+daily;break;}

case 5:{sum=31+28+31+30+daily;break;}

case 6:{sum=31+28+31+30+31+daily;break;}

case 7:{sum=31+28+31+30+31+30+daily;break;}

case 8:{sum=31+28+31+30+31+30+31+daily;break;}

case 9:{sum=31+28+31+30+31+30+31+31+daily;break;}

case 10:{sum=31+28+31+30+31+30+31+31+30+daily;break;}

case 11:{sum=31+28+31+30+31+30+31+31+30+31+daily;break;}

case 12:{sum=31+28+31+30+31+30+31+31+30+31+30+daily;break;}

default:{printf("你输入的月份不对,请重新输入。/n");};

}

if((year%400==0||(year%4==0 && year%100!=0) ) &&month>=2)

printf("你输入的日子是%d年的第%d天。/n",year,sum+1);

else

printf("你输入的日子是%d年的第%d天。/n",year,sum);

}

}
 

方法二:

main()

{

int day,month,year,sum,leap;

printf("/nplease input year,month,day/n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)/*先计算某月以前月份的总天数*/

{

  case 1:sum=0;break;

  case 2:sum=31;break;

  case 3:sum=59;break;

  case 4:sum=90;break;

  case 5:sum=120;break;

  case 6:sum=151;break;

  case 7:sum=181;break;

  case 8:sum=212;break;

  case 9:sum=243;break;

  case 10:sum=273;break;

  case 11:sum=304;break;

  case 12:sum=334;break;

  default:printf("data error");break;

}

sum=sum+day;  /*再加上某天的天数*/

  if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/

   leap=1;

  else

   leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf("It is the %dth day.",sum);}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  input
相关文章推荐