0
点赞
收藏
分享

微信扫一扫

C语言可以干些什么?C语言主要涉及哪些IT领域?

殇感故事 2天前 阅读 2

算法分析:

  1. 如果X能被Y整除,则余数为0,即如果X%Y的值等于0,则表示X能被Y整除。
  2. 首先将是否是闰年的标志leap初始值设置为0(非闰年),仅当year为闰年时将leap的位置为1。

初始代码如下:

//从键盘输入一个年份year(4位十进制数),判断其是否是闰年
//闰年的判断条件是能被4整除、但不能被100整除,或者被400整除
#include<stdio.h>
int main(void)
{
	int year, leap=0;       //leap初始值为0,即预备为非闰年
	printf("输入年份: \n");
	scanf("%4d",&year);     //从键盘输入一个年份保存至变量year
	
	if(year%4==0)
	{
		if(year%100!=0)     //若year能被4整除但不能被100整除,则是闰年,leap赋值为1
		{
			leap = 1;
		}
	}
	else                    //否则,若year能被400整除,则是闰年,leap赋值为1
	{
		if(year%400==0)
		{
			leap = 1;
		}
	}
	
	if(leap)               //若leap的值为1,即是闰年
	{
		printf("%d年是闰年\n",year);
	}
	else                   //否则,不是闰年
	{
		printf("%d年不是闰年\n",year);
	}
	return 0;
}

键盘输入:

2024 回车

结果如下:

键盘输入:

2049 回车

结果如下:

优化后代码:

//从键盘输入一个年份year(4位十进制数),判断其是否是闰年
//闰年的判断条件是能被4整除、但不能被100整除,或者被400整除
#include<stdio.h>
int main(void)
{
	int year, leap=0;       //leap初始值为0,即预备为非闰年
	printf("输入年份: \n");
	scanf("%4d",&year);     //从键盘输入一个年份保存至变量year
	
	if((year%4==0&&year%100!=0)||(year%400==0))
	{
		printf("%d年是闰年\n",year);
	}
	else
	{
		printf("%d年不是闰年\n",year);
	}
	
	return 0;
}

键盘输入:

2036 回车

结果如下:

举报

相关推荐

0 条评论