C语言 寻找既是星期五又是13日的一天

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:05:15
输入:

年份

输出:

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

例如:输入2006
输出:There are 2 Black Fridays in year 2006.
They are:
2006/1/13
2006/10/13

拜托各位大虾,最后运行出来之后一定得是上面显示出的结果~~~
各位大侠,还有最后一点小问题。就是比如说这一年只有一个黑色星期五的话,最后输出的结果是It is而不是they are~~

//---------------------------------------------------------------------------

#include <stdio.h>
int whatday(int y,int m,int d)
{

if(m==1||m==2)
{
m+=12;
y--;
}
return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;

}
int main(void)
{
int year,i,m[12]={0},s=0;
printf("Year:");
scanf("%d",&year);
for (i=1; i<=12; i++) {
if (whatday(year,i,13)==5){
m[i-1]=1;
s++;
}
}
printf("There are %d Black Fridays in year %d.\nThey are:\n",s,year);
for (i = 0; i<12; i++) {
if (m[i]) {
printf("%d/%d/13\n",year,i+1);
}
}

return 0;
}
//---------------------------------------------------------------------------

//做一个输入日期输出星期的程序
#include <stdio.h>
main()
{
int year,month,day=13,week;
int y=