C语言新手求解 怎么控制输出10次换行

在2000——3000年中找出闰年并每十个输出换行一次#include<stdio.h>main(){inta;for(a=2000;a<=3000;++a)if((a%... 在2000——3000年中找出闰年
并每十个输出换行一次
#include<stdio.h>
main()
{int a;
for(a=2000;a<=3000;++a)
if((a%4==0)&&(a%100!=0))
printf("%d,",a);
else if(a%400==0)
printf("%d,",a);
}
展开
 我来答
百度网友66956f1
推荐于2017-12-16 · TA获得超过279个赞
知道答主
回答量:191
采纳率:0%
帮助的人:66.3万
展开全部

用一个数组存储所有的闰年

输出时判断是否能被10整除,如果可以就换行

#include <stdio.h>
int main()
{
 int a,n[500],p=0;
 for(a=2000;a<=3000;++a)
  if((a%4==0)&&(a%100!=0))
   n[p++]=a;
  else if(a%400==0)
   n[p++]=a;
 for(a=0;a<p;++a)
 {
  printf("%d ",n[a]);
  if((a+1)%10==0)
   printf("\n");
 }
 return 0;
}

如果满意,请点击采纳!谢谢

更多追问追答
追问

关于数组我可以理解,虽然我还不太清楚怎么写

我想问一下int n【500】是什么,还有n【p++】跟printf的n【a】是什么关系

像图片一样,程序有误,我还是不太懂

追答
我把代码重写了一遍,刚才代码少个括号
int n[500]是定义一个大小为500的数组,下表范围是n[0]到n[499]。
在定义数组的时候我们一般要把数组开的大一点,这里的500是足够大的
p是n存储的数的个数。
n[p++]=a等价于n[p]=a;++p;这里只是一个简写而已
意思就是在n数组已经存储的所有数后面紧接着再存一个数。然后让p+1,也就是n的元素多1。
最后printf("%d ",n[a]);的意思是a是一个循环变量,从n数组的头循环到尾,一个一个把里面的东西输出
祜风
2016-08-27 · TA获得超过226个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:134万
展开全部
void main()
{
int a;
int ct = 0;
for(a=2000;a<=3000;++a)
{
if((a%4==0)&&(a%100!=0)||(a%400==0))
{
if(ct > 0)
{
printf(",%d",a);
}
else
{
printf("%d",a);
}
ct++;
if(ct%10 == 0)
{
ct = 0;
printf("\n");
}
}
}
if(ct > 0)
{
printf("\n");
}
}
追问
好长,而且花括号乱用了
除了if((a%4==0)&&(a%100!=0)||(a%400==0))好评
其他可以简化一下
还有,ct我看不太懂
追答
这个程序,已正常通过测试。为么这样写,看效果就知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式