注册 登录
编程论坛 C语言论坛

写了个日历小程序,欢迎大家提建议。

Pa407 发布于 2023-09-30 10:11, 372 次点击
# include <stdio.h>
 
 //  公历也叫儒略历,格里高利历。1582年10月15日以前是400年置100闰,之后是400年置97闰。
 //本程序以1583年1月1日为起点设计。 输入年份,输出该年的星期历。
 
int hnl(int year,int j){
    int x;
    x=year;
    int a[12];
    int i;int k;int l;   
    a[1]=28;a[0]=31;a[2]=31;
    a[3]=30; a[4]=31;
    a[5]=30; a[6]=31;
    a[7]=31; a[8]=30;
    a[9]=31; a[10]=30;a[11]=31;
    if ((x%100!=0)&&(x%4==0)||(x%400==0) )  {
    a[1]=29;
    }
printf("\n");
printf("%d年sun mon tue wed thu fri sta ",x);  
printf("\n");
for (i=0;i<12;i++){
    printf("%2d月|",i+1);
    l=j*4;
    for(;l>0;l--){printf(" ");}
    for (k=0;k        printf("%4d",k+1);
        if (j>5) {
            j=j-7;
            printf("\n");
            printf("     ");
                }
    }
    printf("\n");  
 }
return 0;   
}

int sss(int year){
    int a=6;
    int y;
    y=1583;   
    for(;y            if ((y%100!=0)&&(y%4==0)||(y%400==0) ) a=(a+2)%7;
            else a=(a+1)%7;    }
    return a;   
}
 
int main()
{
    printf("input year:");
    int year;
    int j;
    scanf("%d",&year);
    printf("\n");   
    j=sss(year);     
    hnl(year,j);            
    return 0;
}
1 回复
#2
Pa4072023-09-30 10:41
k<a[i];k++,j++

;y<year;y++){
1