永发信息网

c语言闺年个数求解

答案:2  悬赏:20  手机版
解决时间 2021-03-05 23:15
c语言闺年个数求解
最佳答案

#include
#include
int main()
{int a,b,t,n;
 while(1)
 {scanf("%d%d",&a,&b);
  if(a==0&&b==0)break;
  if(a>b){t=a;a=b;b=t;}
  if(a%4)a+=4-a%4;
  for(n=0;a<=b;a+=4)
    n+=a%100||a%400==0;
  printf("%d
",n);
 }
return 0;
}追问您好!我想再咨询下,如果我想要按照题目的格式我该怎么改呢?追答这就是按照题目的要求输出的,有一行输入就有一行输出。(没有必要全部输入结束后再输出,题目也没有这么要求,难道是老师要求这样吗?)追问
您好,这是老师讲的案例麻烦了!追答
全部回答
您的原设计有四个错:
一、您的while(a&&b)……目的,本来应是只要a和b都不是零,就执行一遍整个操作,实现“每行都计算有多少个闰年”,但是while()后面的循环体只能有一个语句,而你没有把“一遍整个操作”括成一个复合语句,于是就变成了只有一个scanf句被当成循环体了。
二、开头的count=0应该移到while语句的循环体内,才能在每行计算之前给count初始化。
三、for语句的循环体里面不应该给count清零了,刚加一次1,就清零那样结果就是永远不可能大于1了。
四、printf语句不应该放在最内层,那样每加一次1都输出一次显然不对,应放在for循环外while循环内。
修改如下(注:因百度显示有毛病,为了对齐我添加了一些“全角空格”。您如果直接拷贝的话可将其中的全角空格全换成半角,即普通的西文空格):
#include
int main(void)
{
int i,count,a,b;
a=b=1;
while(a&&b)
{
count=0;
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
if((i%4==0)&&(i%100!=0)||(i%400==0)) count++;
printf("%d\n",count);
}
return 0;
}追问您好,我想再咨询下,如果我想要按照题目的格式我该怎么改呢?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
很期待有一个女生的关心,但是很害怕恶女生接
【心门】心门作文
苹果手机刷机多少钱/苹果手机刷机多少钱
庙门我想知道这个在什么地方
怎样用iphone4s查询本机号码
世界三大女高音是谁?
【begin什么意思】begin什么意思
两朵玫瑰的花语是什么啊?
http://m.iqiyi.com/w_19rruadi6t.html#vfrm=
中国邮政(南大街邮政所)我想知道这个在什么地
哪里有订做吉他的呢??价格怎么样呢??
下载视频用什么软件好手机
鑫岩泰茶馆地址在哪,我要去那里办事
顾炎武说,易姓改号,谓之亡国,仁义充塞而至于
社保卡钱用完了怎么办
推荐资讯
怎样做好精准招商
铁锅一绝山村土鸡熬鱼庄乌市总店地址有知道的
太平洋咖啡我想知道这个在什么地方
电磁炉预约功能是什么
下列不属于正常配子基因组成的是DA. BB. ABCC
鹤壁新区电子厂有哪些
已知(x³+mn+n+)(x²-5x+3)的计算结
川大自考本科护理学大自考和小自考的科目有什
广州地铁一号线到不到环市路上的广州火车站?
芭迪孕婴童摄影会所地址在什么地方,想过去办
从渭南到中华郡怎么走
江苏今年高二的计算机考试是什么时候?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?