四、黑色星期五
在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。要求输入年份和该年的第一天的星期数,判断该年是否包含黑色星期五,如果包含给出具体的日期。
测试样例:
输入:
1998 4
输出:
1998-2-13
1998-3-13
1998-11-13
#include<stdio.h>
int nian(int year)
{
if((year%400==0)||(year%4==0 && year%100!=0)) return 1;
return 0;
}
int main()
{
int year,t,n,i;
scanf("%d",&n);
while(n--){
int sum = 0;
int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d",&year,&t);
if(nian(year) == 1) days[2] = 29;
for(i = 1; i < 13;i++){
if((sum + 12 + t)%7 == 5)
printf("%d-%d-13\n",year,i);
sum +=days[i];
}
}
return 0;
}
这种关于年的题目首先要判断这年是闰年还是平年。
这题只要计算每个月的13 号是不是星期五就行了,是的话就打印出来。
要注意的地方每个月的1号 加12天是13号,不是加13;