分析:
在一维数组里初始化12个月份,在进行判断是不是闰年,是闰年就把数组的二月的下标改为29,否则不变就按照平年计算,最后把想要计算的月份减1累加到sum里,在进行计算该月份的天也要累加。例如:输入2024年2月10日–>>加上1月的再加上2月的10天
代码
int nian(int x)
{///1.能被4整除,但不能被100整除///2.能被400整除if ((x % 4 == 0) && (x % 100 != 0) || (x % 400 == 0)){return 1;}else{return 0;}
}
int main22()
{int year = 0;int month = 0;int day = 0;int sum = 0;scanf("%d %d %d", &year, &month, &day);int arr[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31};/// 1 2 3 4 5 6 7 8 9 10 11 12 /// 这里吧第一个下表置为1就是为了方便好计算,能对应1~12月的数字int y = nian(year);if ( y == 1){arr[2] = 29;}for (int i = 1; i < month; i++){sum += arr[i];}for (int j = 0; j < day; j++){sum = sum++;}printf("%d年%d月%d日是今年的第【%d】天", year, month, day, sum);return 0;
}
小优化: