C语言问题。题目:输入某年某月某日,判断这一天是这一年的第几天?

2024年11月15日 12:08
有4个网友回答
网友(1):

其中 case 1:sum=0;break是什么意思?
//
sum计算的某月以前月份的总天数,如果是1月,那么1月以前当然是0了
//
case 3:sum=59;break是什么意思?break是什么意思?
//
如果月份是3,那么3月以前就是1月31天+2月28天=59.闰年在后面有单独的处理.
break就是跳出去,程序运行到这里就结束switch运算.
//
default:printf("data error");break是什么意思?
//
如果输入不是1~12,而输入其他数字,程序打印一条错误信息.default就是处理除了前面case中列出的值以外的数值.
//
if(year%400==0||(year%4==0&&year%100!=0)是什么意思?%400是什么意思?||是什么意思?
//
%是取模运算.%400就是除以400后的余数.
year%400==0//year能被400整除
||//或者
year%4==0//year能被4整除.
&&year%100!=0//并且year不能被100整除.

网友(2):

先算整月的天数,一月份不足整月,所以sum=0;
switch(n){case m:}是选择结构。即选择case 后面的值与switch中相同的那行开始执行,执行完后直接执行以下的case,但加了break后,直接跳出switch。所以break是跳出花括号的意思。
default:是当case后面找不到与switch中相同的值的时候执行的语句。可以理解为“其它”。
%读作模,表示year除以400的余数。year%400==0表示year是400的整数倍。
||是“或”运算符,理解为或者。

网友(3):

瑞年判断,可以被4整数,但是不能白400整数的就是瑞年
%400就是判断能不能整数400
||是逻辑或 或者的意思

还有不懂吗,直接问我好了,现在空

网友(4):

1,第1月1号前,前面的天数是0天
2,在3月1号前,前面有59天,switch case语句一般都要用到BREAK,跳出判断分支
3,就是,你输入的天数超过这年的总天数了,365或者366,就出错

4,判断是不是闰年
闰年就是:年数能被4整除并且但是不能被100整除,或者能被400整除的年,闰年的2月有29天