| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:从键盘输入一个年号和月号,输出该年该月的月历
只看楼主 加入收藏
liuqianhang
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-12-11
结帖率:0
收藏
 问题点数:0 回复次数:1 
从键盘输入一个年号和月号,输出该年该月的月历
从键盘输入一个年号和月号,输出该年该月的月历,例如:输入2005  7  输出
  SUN MON TUE WED THU 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
搜索更多相关主题的帖子: 键盘 月历 
2012-12-11 16:27
l19941001l
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-4-5
收藏
得分:0 
# include <stdio.h>
# include <windows.h>

int main(void)
{
    int year, mouth, week;
    int dis_year, dis_mouth, distance;
    int mouths[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    int i, j, t;
   
    printf("请输入日期(格式:1900-01):\n");
    scanf("%d-%d", &year, &mouth);
   
    /*得到那个月份1号为周几(详见: [输出星期.cpp])*/
    dis_year = year - 1900;
    i = dis_year % 4;
    j = dis_year / 4;
    dis_year = j*1461 + i*365;
    dis_mouth = 0;
    for (i=1; i<mouth; i++)
        dis_mouth += mouths[i-1];
    if (mouth > 2 && year%4 == 0)
        dis_mouth += 1;
    distance = 0;
    distance = dis_year + dis_mouth;
    week = (1+distance) % 7;

    system("CLS");

    /*控制输出*/
    printf("          %d年%d月\n\n", year, mouth);
    printf(" 日            六\n");        //表头
    for (i=0; i<week; i++)
        printf("    ");                            //空出不是本月的地方
   
    i=week;   
    if (year%4 == 0)
        mouths[1] += 1;   
    for (t=1; t<=mouths[mouth-1]; t++)            //输出这个月的每天
    {
        if (7 == i)                        
        {
            printf("\n");
            i = 0;
        }                                        //通过i控制换行
        printf("%3d ", t);
        i++;
    }
    printf("\n");
   
    return 0;
}
2013-04-20 15:24
快速回复:从键盘输入一个年号和月号,输出该年该月的月历
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019212 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved