如何用c语言编一个程序判断黑色星期五

Python031

如何用c语言编一个程序判断黑色星期五,第1张

用c语言编一个程序判断黑色星期五的方法如下:

需要设立一个初始点,比方说设定1900年1月1日为初始点,然后依次按7天计算这样就可以同时判断之后的某天是星期几了。然后重叠上那一天是几号就可以用一个if(day==星期五&&day==13号)判断来输出是黑色星期五了,具体的代码可以自己写出来,可以加入当时英国划去了几天的那个事件。

黑色星期五,在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。

输入:年份。

输出:判断该年是否包含黑色星期五,如包含,给出具体日期。

#include <stdio.h>

int normalMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31}

int leapMonth[12] = {31,29,31,30,31,30,31,31,30,31,30,31}

int getYear(void)

{

int n

printf("please input year:")

scanf("%d",&n)

return n

}

int isLeap(int n)

{

if((n%4==0&&n%100!=0)||n%400==0)

{

return 366

}

else

{

return 365

}

}

int weekDays(int year)

{

int i,sum = 0

for(i = 2008i<yeari++)

{

sum += isLeap(i)

}

if(sum == 0)

{

sum = 0

}

else

{

sum = sum%7

}

switch (sum)

{

case 0:

return 3

break

case 1:

return 4

break

case 2:

return 5

break

case 3:

return 6

break

case 4:

return 7

break

case 5:

return 1

break

case 6:

return 2

break

default:

return -10000

}

}

void darkFriday(int weekday,int year)

{

int week = weekday,i,j,sum = 0

if(366==isLeap(year))

{

for(i=0i<12i++)

{

for(j=1j<=leapMonth[i]j++)

{

week++

if(week == 8)

{

week = 1

}

if(week == 5&&j == 13)

{

sum ++

}

}

}

}

else

{

for(i=0i<12i++)

{

for(j=1j<=normalMonth[i]j++)

{

week++

if(week == 8)

{

week = 1

}

if(week == 5&&j == 13)

{

sum ++

}

}

}

}

printf("%d\n",sum)

}

int main(void)

{

int year,weekday

year = getYear()

weekday = weekDays(year)

darkFriday(weekday,year)

return 0

}

可能不对,你看看吧。楼上的可能更好。