#include "stdio.h"int main(void){int day, day_year, month, year;int repeat, ri;int day_of_year(int year, int month, int day);scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d%d%d", &year, &month, &day);/*---------*/day_year = day_of_year(year, month, day);printf("days of year: %d\n", day_year);}}/*---------*/int day_of_year(int year, int month, int day){int k, leap;int tab[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};leap = (year % 4 ==0 && year % 100 != 0 || year %400 ==0);for(k = 1; k < month ; k++) {day = day + tab[leap][k];}return day;}/*输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入日期(年、月、日),输出它是该年的第几天。要求定义与调用函数 day_of_year(year, month, day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天,函数形参year、month和day的类型是int,函数类型也是int。输入输出示例:括号内为说明输入:2 (repeat=2)1981 3 1 (1981年3月1日)2000 3 1 (2000年3月1日)输出:days of year: 60 (1981年3月1日是该年的第60天)days of year: 61 (2000年3月1日是该年的第61天)*/
2 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
leap在这里就是一个int变量,是一个变量名字。
不是关键字,一般变量名字取用户容易理解的字符。
这里的leap就表示闰年的年份,
当然你还可以取别的名字,只是一个变量而已。
Helenr
TA贡献1780条经验 获得超3个赞
leap本意是跳跃,leap year是闰年的意思。
这里和C++语法无关,只是一个自定义的标识符名称而已。
这里leap = (year % 4 ==0 && year % 100 != 0 || year %400 ==0);,就是计算右边的逻辑表达式的值,如果year满足闰年的要求,这个表达式则为1,否则为0;然后将表达式的值赋给 leap 。于是 leap 为 1 表示 year 对应的整数年份为闰年,否则为平年。
顺便,“闰年”另外一个说法是intercalary year。
- 2 回答
- 0 关注
- 234 浏览
添加回答
举报
0/150
提交
取消