| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:用指针表示日历
只看楼主 加入收藏
门门哒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-10-14
结帖率:50%
收藏
 问题点数:0 回复次数:0 
用指针表示日历
#include <stdio.h>   
bool isLeapYear(int);  
int getWeekDay(int, int, int);  
  
int main(int argc, char const *argv[])  
{  
    int year;  
    int month;  
  
    printf("输入日期:");  
    scanf("%d%d", &year, &month);  
  
     
    printf("日 一 二 三 四 五 六\n");  
  
     
    int week = getWeekDay(year, month, 1);  
  
    int i;  
    for (i = 0; i < week; i++)
        printf("   ");  
  
    int endDayOfMonth;
    if (month==1||month==3||month==5||month==7||month==8||month==10||month==12)  
        endDayOfMonth=31;  
    else if (month==2)  
    {  
        if (isLeapYear(year))  
            endDayOfMonth=29;  
        else   
            endDayOfMonth=28;  
    }  
    else   
        endDayOfMonth=30;  
  
    int dayOfMonth=1;  
   
    while (dayOfMonth<=endDayOfMonth)  
    {  
        printf("%2d ", dayOfMonth);  
        dayOfMonth++;  
         
        if ((dayOfMonth+week-1)%7==0)  
            printf("\n");  
    }  
    printf("\n");  
    return 0;  
}  
  

bool isLeapYear(int year)   
{  
    return year%400==0||(year%4==0&&year%100!=0);  
}  
  

int getWeekDay(int y, int m, int d)  
{  
   
    int days=d;  
    int i;  
    for (i=1;i<m;i++)   
    {  
        if (i==1||i==3||i==5||i==7||i==8||i==10||i==12)  
            days=31;  
        else if (i==2)  
        {  
            if (isLeapYear(y))   
                days=29;  
            else   
                days=28;  
        }  
        else   
            days=30;   
    }  
  
    int day=(y-1+((y-1)/4)-((y-1)/100)+((y-1)/400)+days)%7;  
    return day;  
}
怎么改成用指针表示  
搜索更多相关主题的帖子: 表示 year int printf || 
2017-11-19 23:58
快速回复:用指针表示日历
数据加载中...
 
   



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

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