输入某年年号和该年的元旦是星期几( 1-7),输出该年所有的 “ 黑色星期五 ” 的日期(年 /月/日) 。

如题所述

第1个回答  2010-04-21
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int year,day,i,j=0;
int a[13]={0,12,43,71,102,132,163,193,224,255,285,316,346};
int b[13]={0,12,43,72,103,133,164,194,225,256,286,317,347};
int black[10];
for(i=1;i<12;i++)
{ scanf("%d %d",&year,&day);
if(year % 4 != 0 || (year % 100 == 0 && year % 400 != 0 )) {
for(i=1;i<12;i++)
{ if((365*year+year/4-year/100+year/400+a[i])%7==5)
black[j++]=i;
}
}
else
{
for(i=1;i<12;i++)
{
if((365*year+year/4-year/100+year/400+b[i])%7==5)
black[j++]=i;
}
}
}
if(j!=0)
{ for(i=0;i<j;i++)
printf("%d/%d/13\n",year,black[i]);
}
system("PAUSE");
return 0; }
第2个回答  2010-04-17
#include<stdio.h>
#define N 12
void main()
{
int i,j,k,a[N]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d\n",&i,&k);
if(i%4==0)
{
a[1]++;
}
if(k%7==0)
printf("%d/1/13\n",i);
for(j=2;j<=N;j++)
{
{ if(a[j-2]==31)
k=(k+3)%7;
else if(a[j-2]==30)
k=(k+2)%7;
else if(a[j-2]==29)
k=(k+1)%7;
else if(a[j-2]==28)
k=k;
}
if(k%7==0)
printf("%d/%d/13\n",i,j);
}
}

自己编的 运行过了本回答被提问者采纳
第3个回答  2010-04-19
#include "stdio.h"
main()
{ int y,w;
scanf("%d %d",&y,&w);
if(y%400==0||(y%4==0&&y%100!=0))
{if(12%7+w%7==5)
printf("%d/1/13\n",y);
if((31+12)%7+w%7==5)
printf("%d/2/13\n",y);
if((31+29+12)%7+w%7==5)
printf("%d/3/13\n",y);
if((31+29+31+12)%7+w%7==5)
printf("%d/4/13\n",y);
if((31+29+31+30+12)%7+w%7==5)
printf("%d/5/13\n",y);
if((31+29+31+30+31+12)%7+w%7==5)
printf("%d/6/13\n",y);
if((31+29+31+30+31+30+12)%7+w%7==5)
printf("%d/7/13\n",y);
if((31+29+31+30+31+30+31+12)%7+w%7==5)
printf("%d/8/13\n",y);
if((31+29+31+30+31+30+31+31+12)%7+w%7==5)
printf("%d/9/13\n",y);
if((31+29+31+30+31+30+31+31+30+12)%7+w%7==5)
printf("%d/10/13\n",y);
if((31+29+31+30+31+30+31+31+30+31+12)%7+w%7==5)
printf("%d/11/13\n",y);
if((31+29+31+30+31+30+31+31+30+31+30+12)%7+w%7==5)
printf("%d/12/13\n",y);
}
else
{ if(12%7+w%7==5)
printf("%d/1/13\n",y);
if((31+12)%7+w%7==5)
printf("%d/2/13\n",y);
if((31+28+12)%7+w%7==5)
printf("%d/3/13\n",y);
if((31+28+31+12)%7+w%7==5)
printf("%d/4/13\n",y);
if((31+28+31+30+12)%7+w%7==5)
printf("%d/5/13\n",y);
if((31+28+31+30+31+12)%7+w%7==5)
printf("%d/6/13\n",y);
if((31+28+31+30+31+30+12)%7+w%7==5)
printf("%d/7/13\n",y);
if((31+28+31+30+31+30+31+12)%7+w%7==5)
printf("%d/8/13\n",y);
if((31+28+31+30+31+30+31+31+12)%7+w%7==5)
printf("%d/9/13\n",y);
if((31+28+31+30+31+30+31+31+30+12)%7+w%7==5)
printf("%d/10/13\n",y);
if((31+28+31+30+31+30+31+31+30+31+12)%7+w%7==5)
printf("%d/11/13\n",y);
if((31+28+31+30+31+30+31+31+30+31+30+12)%7+w%7==5)
printf("%d/12/13\n",y);
}
return 0;
}
自己编的
绝对没问题
相似回答