论坛: 编程破解 标题: 输入从1980―2080年中的任一年,在屏幕上就显示一个日历 复制本贴地址    
作者: ywd_wlp [ywd_wlp]    论坛用户   登录
编写一个程序,输入从1980―2080年中的任一年,在屏幕上就显示一个日历,即显示从这一年的1月1日到12月的31日(阳历)这12个月所对应的星期,显示格式同挂历,比如显示某一年的1月份格式:
Sun    Mon  Tues  Wed  Thurs  Fri    Sat 
                1      2    3      4      5
6      7      8      9    10    11    12
13    14    15      16    17    18    19
20    21    22      23    24    25    26
27    28    29      30    31
提示:
1 假设输入1990年,则1990年的1月1日是星期几的确定方法:
  设n为从公元1年到1990年中的闰年的个数(闰年一年有366天),1月1日是星期几的计算方法为(公元1年的1月1日为星期一):
  ((1990-1)*365+n-1)%7+1,结果即为所求的星期数
2 用循环打印



[此贴被 286(unique) 在 07月05日14时47分 编辑过]

地主 发表时间: 04-06-27 15:24

回复: tigerwang [tigerwang]   论坛用户   登录
哥们,别搞笑好不好,回去看看c语言书就什么都知道了~

B1层 发表时间: 04-06-28 20:44

回复: ywd_wlp [ywd_wlp]   论坛用户   登录
我就是不会啊!有谁可以帮帮忙编写一下啊.

B2层 发表时间: 04-06-29 17:38

回复: sniper167 [sniper167]   论坛用户   登录
#include <stdio.h>
void main()
{
int mm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int y,w,i,j;
printf("%s","please input year:\t");
scanf("%d",&y);
if(!(y%400)||!(y%4)&& y%100)
mm[2]=29;
y--;
w=y+y/4-y/100+y/400+1;
w%=7;
y++;
for(i=1;i<13;i++)
    {
    switch (i/3)
    {case 1:printf("\n\t\t%d%s\n",i," spring.");break;
      case 2:printf("\n\t\t%d%s\n",i," summer.");break;
      case 3:printf("\n\t\t%d%s\n",i," autumn.");break;
      default:printf("\n\t\t%d%s\n",i," winter.");
    }
    printf("  SUN  MON  TUE  WED  THU  FRI  SAT\n");
    for(j=0;j<w;j++)
    printf("    ");
    for(j=1;j<=mm[i];j++)
        {
        printf("%5d",j);
        w++;
        if(w==7){printf("\n");w=0;}
        }
    }
getch();
}


B3层 发表时间: 04-07-03 20:58

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号