一道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");
}
}
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"); }
就可以了。
int i=2000;改为int i=2000,t=0;
i++前加
if (t == 10)
{
printf("\n");
t = 0;
}
用t来控制闰年数量,方便十个一行输出
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯