精华内容
下载资源
问答
  • #include "stdio.h" void main() { int year, month;... printf("请输入年份和月份:"); scanf("%d%d", &year, &month); ///判断这一年是是不闰年 if (year % 400 == 0 || (year % 4 == 0) &&
    #include "stdio.h"
    
    void main() {
        int year, month;
        int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        printf("请输入年份和月份:");
        scanf("%d%d", &year, &month);
        ///判断这一年是是不闰年
        if (year % 400 == 0 || (year % 4 == 0) && (year % 100 != 0)) {
            //如果是闰年的话,将数组中二月份的天数改为29天
            days[1] = 29;
        }
        printf("%d年%d月有%d天", year, month, days[month - 1]);
    }
    
    展开全文
  • 分析: 三种类型, A.2月比较特殊,平年的2月只有28天,而闰年的2.../*输入一个年份和月份,输出该月的天数*/ #include<stdio.h> int main() { int year, month; printf("输入年和月(用空格分隔):\n"); ...

    分析:

    三种类型,

    A.2月比较特殊,平年的2月只有28天,而闰年的2月有 29 天;

    B.4、6、9、11月;

    C.其他1、3、5、7、8、10、12月。

    代码:

    /*输入一个年份和月份,输出该月的天数*/
    #include<stdio.h>
    int main()
    {
        int year, month;
        printf("输入年和月(用空格分隔):\n");
        scanf_s("%d %d", &year, &month);
        switch (month)
        {
        case 2:if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
            printf("29天!\n");
        else
            printf("28天!\n");
        break;
        case 4:
        case 6:
        case 9:
        case 11:printf("30天!\n"); break;
        default:printf("31天!\n"); break;
        }
        return 0;
    }

     

     

    展开全文
  • #include "iostream" using namespace std; int main() { int m,d,monthmax,y; while(1) { cout请输入年份:"; cin>>y; cout请输入月份:"; cin>>m;
    #include "iostream"
    
    using namespace std;
    
    int main()
    {
        int m,d,monthmax,y;
        while(1)
        {
            cout<<"请输入年份:";
            cin>>y;
    
            cout<<"请输入月份:";
            cin>>m;
    
            cout<<endl;
    
            //判断年份和月份
            if(y%4==0||(y%100==0&&y%400==0))//闰年
            {
                if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
                    monthmax=31;
                if(m==2)
                    monthmax=29;
                if(m==4||m==6||m==9||m==11)
                    monthmax=30;
            }
            if(y%4!=0)//平年
            {
                if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
                    monthmax=31;
                if(m==2)
                    monthmax=28;
                if(m==4||m==6||m==9||m==11)
                    monthmax=30;
            }
    
            //基姆拉尔森计算公式取得一号周几
            if(m==1||m==2)
            {
                m+=12;    //一月算做上一年的十三月,二月算做上一年的十四月
                y--;
            }
            d=(2+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;//算出这月一号周几
            if(d==0)
            {
                d=7;
            }
            //输出日历
            {
                {
                    //标题模块
                    if(m==13)
                    {
                        cout<<"   公元"<<y+1<<"年 第1月日历"<<endl;
                    }
                    if(m==14)
                    {
                        cout<<"   公元"<<y+1<<"年 第2月日历"<<endl;
                    }
                    if(m!=13&&m!=14)
                    {
                        cout<<"   公元"<<y<<"年 第"<<m<<"月日历"<<endl;
                    }
                }
                cout<<" 1   2   3   4   5   6   7   "<<endl<<"==========================="<<endl;
                for(int i=1; i<=d-1; i++)
                {
                    cout<<"    ";
                }
                for(int j=1; j<=monthmax; j++)
                {
                    if(j<10)
                    {
                        cout<<" "<<j<<"  ";
                    }
                    if(j>=10)
                    {
                        cout<<" "<<j<<" ";
                    }
                    if((j+d-1)%7==0)
                    {
                        cout<<endl;
                    }
                    if(j==monthmax)
                    {
                        cout<<endl;
                    }
                }
                cout<<endl;
            }
        }
    }


     

    展开全文
  • 日常生活中我们所见到的日历如图所示: 代码思路: 1. 我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天。 2. 要想知道这个月是从...3. 然后计算这个年份是从星期几开始的,以及...

    日常生活中我们所见到的日历如图所示:
    这里写图片描述
    代码思路:
    1. 我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天。
    2. 要想知道这个月是从星期几开始的,就得知道上一个月的最后一天是星期几,要想知道上一个月的最后一天是星期几,就得知道上一个月是星期几开始的,以此推类,我们就需要定义一个基准年以及基准年是从星期几开始的。
    后面的代码,我们定义基准年为2000年,且定义2000年是从星期六开始的

    3. 然后计算你想知道的这个年份是从星期几开始的,以及月份是从星期几开始的,并实现打印。

    代码:
    1. 主函数
    这里写图片描述
       首先输入你想打印哪一年哪一月的日历, 其次计算这一个年份是从星期几开始的,在计算月份是星期几开始的;
    2.其次定义一个全局的数组变量,用于存放每个月的天数。
    这里写图片描述
       由于年份有闰年,平年,mon[1]代表平年,mon[2]代表闰年;
    3. first_ day_ of _year函数
    这里写图片描述
    其中isleap函数:
    这里写图片描述
    4. first_ day _ of_month函数
    这里写图片描述
    5. show展示函数
    这里写图片描述
    参考代码:

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    #include<stdlib.h>
    
    mon[2][13] = { { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
    { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } };
    //判断闰年
    int isleap(int year)
    {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            return 1;
        else
            return 0;
    }
    //年份的第一天
    int first_day_of_year(int year)
    {
        int base_year = 2000;  //定义一个基准年2000年
        int first_day = 6;     //基准天:2000年1月1号是星期6
        int i = 2000;
        int total = 0;          //天数总和
        for (i = base_year; i < year; i++)
        {
            total = total + 365 + isleap(i);  //isleap函数用于判断年份是否是闰年,如果是返回1,不是返回0
        }
        return (total+first_day)%7;
    }
    //月份第一天
    int first_day_of_month(int year, int month, int first_year)
    {
        int total = 0;  //天数和
        int i = 0;
        for(i = 1; i < month; i++)
        {
            total = total + mon[isleap(year)][i];
        }
        return (total + first_year) % 7;
    }
    //展示日历
    void show(int year,int  month, int first_month)
    {
        int i = 0;
        printf("一   二   三   四   五   六  日\n");
        for (i = 0; i < first_month-1; i++)
        {
            printf("     ");     //月份第一天是从first_month开始的,所以首先打印first_month-1个空格
        }
        for (i = 1; i <= mon[isleap(year)][month]; i++)
        {
            printf("%-5d", i);
            if ((first_month-1+i) % 7 ==0) //如果(数字+空格数)%7==0,则换行
                printf("\n");
        }
        printf("\n");
    }
    int main()
    {
        int year, month;
        printf("年/月:");  //输入你想打印的年份
        scanf("%d/%d", &year, &month);
        int first_year = first_day_of_year(year);//年份第一天
        int first_month = first_day_of_month(year, month, first_year);//月份第一天
        show(year, month, first_month);
        system("pause");
        return 0;
    }

    运行:
    这里写图片描述
    这里写图片描述
    对照日历:
    这里写图片描述
    这里写图片描述

    展开全文
  • 例如 输入:2018 3 输出2018年不是闰年 当前是春季 3月共有31天。 */ ...printf("请输人年份和月份(注意年份和月份输入是用空格隔开的):\n"); scanf_s("%d %d", &year, &...
  • C语言编程:用键盘输入年月,显示所在月的月份天数
  • C语言编写一程序,完成以下功能:根据用户输入年份和月份,输出该月的天数。平年的2月为28天,闰年的2月为29天。闰年的判断方法:年份能被400整除,或者能被4整除但不能被100整除。注意事项:1.注意进行异常处理...
  • 使用C语言编写一个程序,在主函数中从用户处读取一年两个月(当年)的数字。该计划将输出当年给定月份之间的天数,包括相关月份的天数。 该计划必须考虑(检查)可能的闰年。使用函数计算天数。使用判断...
  • C语言:读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch语句编程。(主要是设定一个标志,考虑闰年) #include<stdio.h> int main(void) { int year,month; printf("请输入一个年份和月份(以...
  • 百年不闰,四百必闰) 文章目录 输入一个年份和一个月份,输出该年此月天数 用结构体存放日期,计算该日是本年的第几天 输入一个年份和一个月份,输出该年此月天数 #include int main() { int year, month, day;...
  • 编写一个程序,输入年份和月份,判断是否为闰年,并根据给出的月份判断是什么季节和该月有几天?(3-5月春,6-8月夏,9-11月秋,12-2月冬 ) C语言具体代码如下: #include<stdio.h> void main() { int a,b; ...
  • 问题描述:输入一个日期,计算这一天是周几,假设年份和月份的天数是一定的,分别是360天和30天,并且已知一个日期。 首先,要解决一个问题,你要知道真正需要求的是什么。 对于这个题,我们要解决的是已知日期和...
  • ①判断输入年份月份、天数要合法; ②其中天数不能超过该月的最大天数; ③区分平年闰年。 代码如下:int isLeapYear(int year) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ...
  • 月份天数——C语言

    2020-02-29 14:55:00
    输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。 #include<stdio.h> int main() { int m,y,days; scanf("%d %d",&y,&m); switch(m) { case 1: case 3: case 5: case ...
  • 编程序实现:输入任意一个年份月份,输出该月份的公历日历(要求用循环控制打印)。 提示: 1.先求出从公元1年1月1日到这个月的1日总共有多少天,并求出这个月的1日是星期几。 2.可以将每个月的天数存入一个数组中...
  • C语言 万年历

    2014-01-22 14:54:31
    使用C语言编写的万年历,输入年份和月份在屏幕上打印出这一月的日历,包括与之对应的星期数
  • 1.问题分析这个问题要求从键盘上输入年份和月份,根据年份和月份计算出当月的总天数。年份和月份要考虑输入是否合法,并且二月份要考虑是否是闰年,如果是闰年则是29天,否则是28天。2.算法设计 显示一个请求用户...
  • C语言实现的万年历

    2012-05-03 18:16:26
    C语言实现的控制台应用程序——万年历,根据用户输入年份和月份,展示当月的日历。
  • 输入月份和天数是否正确进行判断。 对输入年份是否是闰年进行判断。 对输入的日期是否正好是月末或年末进行判断。 #include<stdio.h> typedef struct date //建立日期结构体 { int year; int month...
  • 任务:使用C完成控制台版万年历从控制台输入年份和月份,然后显示该月日历。使用分支和循环结构完成。提示:1.1900年1月1日是星期一2.计算输入的月份的1月1日距离1900年1月1日有多少天3.输入月份的1月1日是星期几 = ...
  • c语言课程设计万年历

    2020-04-18 10:06:54
    输入任意年份和月份,显示该年月日历。 要求和目标: (1)要求每个面板输出整个月份,不可分段显示,超过应能够自动分屏显示; (2)能对闰年进行检测与处理; (3)按照日历的格式每行自动显示7位数; (4)能自动...
  • 用基础的c语言编写的能够通过输入年份和月份然后显示该年该月的日历 可以查看下个月 和上个月
  • 01原题编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为...
  • 1.分析问题:基本算法为之前月份的天数加当前天,例如3月8日,需要用1,2月份的总天数加8。 但要考虑特殊情况,如果是闰年,那么2月不再是28天,而是29天,此时如果月份大于2,那么之前月份的天数则应加1才对。 2...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

c语言输入年份和月份

c语言 订阅