上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
实训3.2——判断闰年
教学录像 光盘\chap3\实训3.2——判断闰年
年数中分为平年或闰年,编写程序,判断输入年数是闰年还是平年,闰年输出为1,平年输出为0。
1. 需求分析
分析目标需求,程序中需要做到如下几条。
需求1:输入年数。
需求2:使用逻辑运算符判断输入的年数是否为闰年。
2. 技术应用
根据C语言标准以及开发平台版本,完善各个需求模块。
对于需求1,使用scanf函数接收输入年数。
对于需求2,根据闰年判断公式:((year%4 ==0) &&(year%100 !=0)) || (year%400 ==0)。
通过上述分析,写出完整的程序如下。
程序清单3.2:CalculateLeapYear.c
01 #include<stdio.h> 02 main() 03 { 04 unsigned int year=0; 05 int res=0; 06 printf("请输入年份:"); 07 scanf("%d", &year); //输入要判断的年份 08 res=((year%4==0)&&(year%100! =0))||(year%400==0); //闰年判断 09 printf("res=1是闰年\nres=0是平年\n"); //打印信息 10 printf("结果是:\nres=%d\n", res); //输出判断结果 11 }
程序第4行定义了unsigned int型变量year用于存储输入的年份,由于年份不可能出现负值,因此程序使用了unsigned int型变量year。程序运行时输入年份并按下Enter键,输出结果为:
请输入年份:2009
res =1是闰年
res =0是平年
结果是:
res = 0
程序使用了算术运算符、关系运算符和逻辑运算符相结合判断是闰年还是平年,体现了逻辑运算符在实际工程中的应用。
随·堂·实·训3.2
进一步判断输入年数是否属于1900—2020这个年历段,如果是则输出1,否则输出0。
提示:
(1)使用逻辑运算符判断1900<year<2020,注意C语言中的逻辑判断与数学表达的不同,这里应使用1900<year && year<2020的方式。
(2)定义另外一个变量,用于记录提示步骤1中逻辑表达式的值。
如表3-3、表3-4所示为逻辑运算的逻辑表和真值表(以a和b作为操作对象)。
表3-3 逻辑运算的逻辑表
表3-4 逻辑运算的真值表