回 帖 发 新 帖 刷新版面

主题:求闰年的程序,,怎么错了呀

#include<stdio.h>
void main()
{
    int year,leap;
    scanf("%d",&year);
    if(year%4==0)
    {
        if(year%100==0)
        {
            if(year%400==0)
                leap=1;
            else
                leap=0;
        }
        else
            leap=1;
    }
    else
        leap=0;
if(leap=0)
{
    printf("%d is a not leap year\n");
}
else
printf("%d is a leap year\n");

回复列表 (共7个回复)

沙发

if(leap=0)
这样的话强制把leap赋成0,就肯定打出is leap year了
应该是leap==0

板凳


谢谢,,你说的很对,但我改成你说的那样了,例如我输入2000年,他打出的是2367460是 a leap year,,为撒子不是2000 is a leap year呢?

3 楼

你的printf里面缺一个参数……

4 楼


还有如果改成这样if(leap)
                  printf("%d is",year);
                else
                   printf("%d is not",year);
                  printf("a leap year.\n");
麻烦你给我解释下这段语句嘛,,谢谢了!

5 楼


嗯,就是呀,,我太笨了,自己没把year写进printf都不知道,谢谢哈

6 楼

if(leap)与if(leap!=0)同义

7 楼

真是高手,一看就知道我是哪里不懂,,谢谢了

我来回复

您尚未登录,请登录后再回复。点此登录或注册