今天的上机课 老师让我们做一道题题目是输入年月日 然后输出这一天是这一年的第几天比如2000 3 2
是这一年的62天 这样应该怎么写 有没有什么简单的写法 我写了N长的switch 郁闷 了
后来试了试用循环和数组 总是出错听老师说有个同学只用的5行代码就写出来了 靠 我想知道他是怎么写的 当时忘了问他了 不知道大家有没有什么办法呃 顺便说一下 我是刚学C的 所以代码不要太难了 谢谢啦~~
是这一年的62天 这样应该怎么写 有没有什么简单的写法 我写了N长的switch 郁闷 了
后来试了试用循环和数组 总是出错听老师说有个同学只用的5行代码就写出来了 靠 我想知道他是怎么写的 当时忘了问他了 不知道大家有没有什么办法呃 顺便说一下 我是刚学C的 所以代码不要太难了 谢谢啦~~
{
static int offset[12]={0,31,59,90,121, 151,181, 212, 243, 273, 304, 334};
day+=offset[month-1];
if(year%4==0 && (year%100)!=0 &&month>2) day++;//闰年
return day;
}
int m[12]={31,30,31,30,31,30,31,31,30,31,30,31};
printf("请输入年月日\n");
scanf("%d %d %d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0) flag=1;//判断是否是闰年 是使flag置1for(int i=1;i<month;i++)
count1+=m[i-1]*i;
count2=count1+day;
if(flag)
count2=count2-2;
printf("%d",count2);
}
int m[12]={31,30,31,30,31,30,31,31,30,31,30,31};
printf("请输入年月日\n");
scanf("%d %d %d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0) flag=1;//判断是否是闰年 是使flag置1for(int i=1;i<month;i++)
count1+=m[i-1]*i;
count2=count1+day;
if(flag&&month>2)//要加上month>2 超过2月才考虑闰年的影响
count2=count2-2;
printf("%d",count2);
}