求助,第一次提问,有什么不足请多多包涵!
黑色星期五从1991年1月1日(星期一)开始,随意输入n年,求每月13号为星期几,然后总输出。我写了这个代码,但结果错了,求解!
#include<stdio.h>
int main()
{
int year,n,i,flag,month[12]={0,31,28,31,30,31,30,31,31,30,31,30};
int a[7],k,j;
long days;
for(i=0;i<7;i++)
a[i]=0;
do
{
scanf("%d",&n);
}while(n<1||n>400);
for(year=1990;year<1990+n;year++)
{
k=year;
days=13;
days+=(k-1990)*365;
month[2]=28;
if(0==k%400||(0==k%4&&0!=k%100))
month[2]+=1;
for(j=1990;j<k;j++)
if(0==j%400||(0==j%4&&0!=j%100))
days+=1;
for(i=0;i<12;i++)
{
days+=month[i];
flag=days%7;
switch(flag)
{
case 6:a[0]++;break;
case 0:a[1]++;break;
case 1:a[2]++;break;
case 2:a[3]++;break;
case 3:a[4]++;break;
case 4:a[5]++;break;
case 5:a[6]++;break;
}
}
}
for(i=0;i<7;i++)
printf("%d ",a[i]);
return 0;
}