C语言编程问题,如何判断是否为闰年?
问题描述:由用户输入若干年份,最后会附加一个0作为输入结束标志,程序输出这些年份中的闰年。输入:由空格分隔的若干整数(表示年份,范围[-3000,3000]),最后一个是...
问题描述:
由用户输入若干年份,最后会附加一个 0 作为输入结束标志,程序输出这些年份中的闰年。
输入:由空格分隔的若干整数(表示年份,范围[-3000, 3000]),最后一个是 0 输出:由空格分隔的若干整数(闰年年份)
示例一 [输入] 1900 1990 1991 1992 1993 1994 1995 1996 1997 1998 2000 0 [输出] 1992 1996 2000
我编的程序:
#include<stdio.h>void main(){ int n; while (n!=0) { scanf("%d",&n); if(n%4==0) { printf("%d",n); } else { continue; } }}
输出是这个,哪里出问题了啊? 展开
由用户输入若干年份,最后会附加一个 0 作为输入结束标志,程序输出这些年份中的闰年。
输入:由空格分隔的若干整数(表示年份,范围[-3000, 3000]),最后一个是 0 输出:由空格分隔的若干整数(闰年年份)
示例一 [输入] 1900 1990 1991 1992 1993 1994 1995 1996 1997 1998 2000 0 [输出] 1992 1996 2000
我编的程序:
#include<stdio.h>void main(){ int n; while (n!=0) { scanf("%d",&n); if(n%4==0) { printf("%d",n); } else { continue; } }}
输出是这个,哪里出问题了啊? 展开
展开全部
闰年的判断规则为,4年一闰,百年不闰,四百年再闰。
对于任意的年份值year,写成C语言的判断格式为
year%400 == 0 || (year %4 == 0 && year %100 != 0)
只要符合这个条件的year值,均为闰年。
封装成函数可以写作:
int is_leap_year(int year)
{
return year%400 == 0 || (year %4 == 0 && year %100 != 0);
}
展开全部
要用单分支做,所以判断条件复杂了点。纯手打,希望你看得懂。
#include<stdio.h>
void main()
{
int year;
printf("Enter Year:");
scanf("%d",&year);
if((year%100==0&&year%400==0)||(year%100!=0&&year%4==0))
printf("It is leap year");
else
printf("It is common year");
getch();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以根据闰年的定义,编写以下代码:
#include <stdio.h>
int main()
{
int a[10]; // 定义长度为10的数组,用于存放用户输入的年份
for(int i = 0;i < 10;i++)
{
scanf("%d",&a[i]);
} // 用for循环读入输入的10个年份
for(int x = 0;x < 10;x++)
{
if(a[x] % 4 == 0 && a[x] % 100 != 0 || a[x] % 400 == 0)
printf("%d ",a[x]);
} // 逐个检查数组中的年份,如满足闰年的条件则将其输出
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
int n;
while (1) //n没赋值前,无法判断
{
scanf("%d",&n);
if ( n==0 ) //输入0结束
break;
if(n%4==0 && n%100!=0 || n%400==0) //闰年检查四年一闰,百年去一,四百年再闰
{
printf("%d ",n); //加个空格
}
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main(void)
{
int n;
while (scanf("%d",&n),n!=0)
{
if(n%4==0&&n%100!=0||n%400==0) //判断是否为闰年
{
printf("%d ",n);
}
else
{
continue;
}
}
return 0;
}
int main(void)
{
int n;
while (scanf("%d",&n),n!=0)
{
if(n%4==0&&n%100!=0||n%400==0) //判断是否为闰年
{
printf("%d ",n);
}
else
{
continue;
}
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询