C语言C语言从入门到入坟

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

2018-04-08  本文已影响1人  源世界Z

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读