首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道软件笔试题解决办法

2012-02-17 
一道软件笔试题打印某月的月历,从键盘读入两个整数m和w, 分别表示某月及该月1日是星期几,清按如下格式打印

一道软件笔试题
打印某月的月历,从键盘读入两个整数m和w, 分别表示某月及该月1日是星期几,清按如下格式打印月历
  十一月月历
日 一 二 三 四 五 六
  1 2 3 4
5 6 7 8 9 10 11
12 13。。。。。。。。
。。。。。。。。。。
。。。。。。30
  注意,可以不考虑闰年的情况,打印格式保证对其。另外注意考虑输入异常情况。

[解决办法]
没考虑闰年问题。

C/C++ code
voidShowCalender(int month, int weekday){    assert(month>=1 && month <=12 && weekday>=1 && weekday<=7);    const int Day[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};    int line = 0;    int gap = weekday%7;    printf("%d month\n", month);    printf("Sun Mon Tue Wed Thu Fri Sat\n");    for (int i=0; i<gap; i++)    {        printf("    ");    }    for (int i=1; i<Day[month]; i++)    {        printf("%-3d ", i);        if ((i+gap)/7 > line)        {            printf("\n");            line = (i+gap)/7;        }    }} 

热点排行