题解 | #获得月份天数#

获得月份天数

https://www.nowcoder.com/practice/13aeae34f8ed4697960f7cfc80f9f7f6

#include <stdio.h>

int main() {
    int year,mouth;
    
    while(scanf("%d %d",&year,&mouth)!=EOF)
    {
        int flag=0;//默认都不是闰年
        if(year%400==0||year%4==0&&year%100!=0)
        flag=1;
        if(flag==1)
        {
            
            int arr[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
            printf("%d\n",arr[mouth]);
        }
        else {
            int arr[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
            printf("%d\n",arr[mouth]);
        }


    }

    return 0;
}

全部评论

相关推荐

2025-12-01 13:39
已编辑
东北大学 Java
Rain_Codin...:没事,反正都是吹牛逼的,另一个实习生说能实习到毕业,说不定干两个月就跑了,亏的还是他
点赞 评论 收藏
分享
思念SiN:你这里没有通过的主要原因应该是计算平均分数的时候,在你贴的代码的第23行: ```c b[i]=(sum-max-min)/(m-2); ``` 等式的右边实际上是两个`int`类型的变量在做除法,C语言里面得到的结果会是这个除法的整数部分,余数部分被舍弃了,也不会自动变成浮点数去做除法。所以虽然你使用了`b[i]`这个浮点数去接收结果,但是等式右边除法是先得到了一个整数,然后再被转换为浮点数再赋值给了`b[i]`。你可以按下面这样,在做除法之前,先进行类型转换,就能得到期望的结果: ```c b[i]=(float)(sum-max-min)/(float)(m-2); ```
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务