永发信息网

一道C语言题目?

答案:7  悬赏:40  手机版
解决时间 2021-05-17 06:10
  • 提问者网友:不爱我么
  • 2021-05-16 23:55

编写程序,输出从公元2000年至公元3000年所有闰年的年号,每输出10个年号换一行。判断公元年是否为闰年的条件是:

(1)公元年数如果能被4整除,而不能被100整除,则是闰年。

(2)公元年数能被400整除也是闰年。

main()
{
int i=2000;
while(i<=3000)
{
if(i%4==0&&(!(i%100==0)))
printf("%d",i);
else
if(i%400==0)
printf("%d",i);
i++;
}

}

上面所编写的程序通过了验证。但是(每输出10个年号换一行)这个条件没用上,不知道该怎么编写,望诸位高手帮忙编一下这个程序。

最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-05-17 00:28
#include<stdio.h>
#include<stdlib.h>
main()
{
int i,x;
i=0;
for(x=2000;x<=3000;x++){
if((x%4==0)&&(x%100!=0)){
printf("%d\t",x);
i++;

if(i%10==0)
printf("\n");
}
}
system("pause");

}
全部回答
  • 1楼网友:长青诗
  • 2021-05-17 05:09

改造下上面的

#include <stdio.h> int main() { int i=2000; int count=0; while(i<=3000) { if(i%4==0&&(!(i%100==0))) printf("%-8d",i);//每个数之间先空出一段空间 count++; if(i%400==0) printf("%-8d",i); count++;

i++; } if(count%10==0) { printf("\n"); } return 0; }

  • 2楼网友:三千妖杀
  • 2021-05-17 04:40

main() { int i=2000;

int count=0;//用来累加输出个数。 while(i<=3000) { if(i%4==0&&(!(i%100==0))) printf("%d",i);

count++;//更新输出数量 else if(i%400==0) printf("%d",i);

count++;//也是更新输出数量 i++; }

if(count%10==0)//实现十个数据换行

{

printf("\n");

}

}

  • 3楼网友:煞尾
  • 2021-05-17 04:20

if( i % 10 == 0)

{

i=0;

printf("\n");

}

  • 4楼网友:荒野風
  • 2021-05-17 02:43

上面的家伙就是复杂,看我的

#include<stdio.h>

void main() { int i=2000,count=0; while(i<=3000) { if(i%4==0&&i%100!=0 || i%400==0)

{ printf("%d",i);

count++;

if(count==10)

printf("\n);

} }

}

  • 5楼网友:由着我着迷
  • 2021-05-17 02:21

在最后一行加上

if( i % 10 == 0)

{ printf("\n"); }

就可以了。

  • 6楼网友:鱼芗
  • 2021-05-17 01:24

int i=2000;改为int i=2000,t=0;

i++前加

if (t == 10) { printf("\n"); t = 0; }

用t来控制闰年数量,方便十个一行输出

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯