好好学习的小! 2022-10-28 09:19 采纳率: 73.1%
浏览 65
已结题

求某区间的闰年,并且在输出五个年份后换行

#include <stdio.h>
#include <stdlib.h>

int main()
{
int n,m,a=0,i;
scanf("%d %d",&n,&m);
for(i=n;i<=m;i++)
{
if(i%4==0&&i%100!=0)
{
printf("%d ",i);
a++;
}else if(i%400==0){
printf("%d",i);
a++;
}
if(a%5==0){
printf("\n");
}
}

return 0;

}
闰年五个一换行,但是最后结果换行中间空了三行,结果是正确的的,但是格式不对

  • 写回答

3条回答 默认 最新

  • 心寒丶 优质创作者: 编程框架技术领域 2022-10-28 09:44
    关注

    if(a%5==0),你这 如果第一次满足,后边不是每次都满足么,如果a为5了。打印换行,但不是闰年a不会++还是5,依然会换行呀,可以把换行放if里面

    img

    img

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    int n,m,a=0,i;
    scanf("%d %d",&n,&m);
    for(i=n;i<=m;i++)
    {
    if(i%4==0&&i%100!=0)
    {
    printf("%d ",i);
    a++;
    if(a%5==0){
    printf("\n");
    }
    }else if(i%400==0){
    printf("%d",i);
    a++;
    if(a%5==0){
    printf("\n");
    }
    
    }
    
    }
    
    return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月6日
  • 已采纳回答 10月29日
  • 创建了问题 10月28日