美文网首页C语言C语言从入门到入坟
C语言学习:求某年某月有多少天?

C语言学习:求某年某月有多少天?

作者: 源世界Z | 来源:发表于2018-04-08 15:39 被阅读1次

    记住,上来就看答案,一辈子也学不会编程。如果不想烧脑,只有一个办法,退出编程界。当你能够独自完成上面的一道题目时,将是一次很大的飞跃,它让你获得成就感,让你初步具备编程思维。

    程序思想:算某年某月有多少天,主要有两个重点。

    1,闰年的表示

    闰年:要求满足这一年能被4整除,不能被100整除且能被400整除(发现 是不是和小学学的不一样,所以是重点嘛)

    代码:(year%4==0 year%100!=0 || year%400==0)

    2,switch(开关)语句的使用。

    switch是另外一种选择结构的语句,用来代替简单的、拥有多个分枝的ifelse语句,基本格式如下:

    switch(表达式){

    case整型数值1:语句1;

    case整型数值2:语句2;

    ......

    case整型数值n:语句n;

    default:语句n+1;

    }

    它的执行过程是:

    1)首先计算“表达式”的值,假设为m。

    2)从第一个case开始,比较“整型数值1”和m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的case是否匹配成功。

    3)如果“整型数值1”和m不相等,就跳过冒号后面的“语句1”,继续比较第二个case、第三个case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设m和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

    4)如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行default后的“语句n+1”。

    需要重点强调的是,当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句。

    最后需要说明的两点是:

    1)case后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。变量

    2)default不是必须的。当没有default时,如果所有case都匹配失败,那么就什么都不执行。

    源程序代码:

    #include stdio.h

    #include stdlib.h

    void main()

    {

    int year, month, days;

    printf(输入年份:);

    scanf(%d,year);

    printf(输入月份:);

    scanf(%d, month);

    switch(month)

    {

    case 1:

    case 3:

    case 5:

    case 7:

    case 8:

    case 10:

    case 12:

    days=31;

    break;

    case 4:

    case 6:

    case 9:

    case 11:

    days=30;

    break; case 2:

    if(year%4==0 year%100!=0 || year%400==0// 判断闰年

    days=29;

    else days=28;

    break;

    default:

    printf(月份输入错误!\n);

    exit(1);

    break; }

    printf(天数:%d\n, days);

    }

    运行结果:

    这就是求某年某月用C语言的方法了,如果还有什么简单方法或者意见可以在评论说喔。但是新的问题来了,如何求某年某月某天是这年的第多少天了?感觉是不是和这个问题很相像了?如果想知道代码的可以订阅之后私信我拿代码喔,还有有条件的可以自己上机写一下代码。欢迎在下方订阅,收藏点赞谢谢!

    相关文章

      网友评论

        本文标题:C语言学习:求某年某月有多少天?

        本文链接:https://www.haomeiwen.com/subject/iixmhftx.html