#include <stdio.h>
main()
{ int y,m,d,dete=0,flag=1;
printf("input year,month,day:");
scanf("%d,%d,%d",&y,&m,&d); /*输入年、月、日存入变量y、m、d*/
switch(m) /*根据月份求出该月之前的天数*/
{ case 1:dete=0;break;
case 2:dete=31;break;
case 3:dete=59;break;
case 4:dete=90;break;
case 5:dete=120;break;
case 6:dete=151;break;
case 7:dete=181;break;
case 8:dete=212;break;
case 9:dete=243;break;
case 10:dete=273;break;
case 11:dete=304;break;
case 12:dete=334;break;
default:printf("data error");flag=0;
}
if((m>2)&&((y%4==0)&&(y%100!=0)||(y%400==0))) dete++; /*2月以后且为闰年的则多加1天*/
dete+=d; /*加上当月的天数*/
if(flag==1)
printf("year=%d month=%d sum=%d----NO.=%d\n",y,m,d,dete);
}
===================
以上是照抄书上的例子:输入一个日期,输出该日期是该年度的第几天。代码直接从啊哈里复制粘贴来的。
疑问一:在输入代码时,为什么这一行代码的 if 没有高亮:{ if((m>2)&&((y%4==0)&&(y%100!=0)||(y%400==0))) dete++; /*2月以后且为闰年的则多加1天*/ }
疑问二:是书上的例子有误,还是啊哈有误?
|