2401_86531504 2024-10-19 22:51 采纳率: 84.6%
浏览 3
已结题

这个怎么能用循环解 if条件也太多了

这个怎么能用循环解 if挨个条件写太多了 有什么好思路吗 提一下意见呗

img

  • 写回答

1条回答 默认 最新

  • 浪客 2024-10-19 23:55
    关注
    
    #include <stdio.h>
    
    int main()
    {
       int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
       int y, m, d, days = 0;
    
       scanf("%d%d%d", &y, &m, &d);
       for (int i = 1; i < m; i++)
          days += months[i];
    
       days += d;
       if (m > 2 && ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0))
          days++;
    
       printf("%d\n", days);
    
       return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月19日