C语言闰年计算器代码优化与讲解
C语言闰年计算器代码优化与讲解
本文将分析一段计算给定年份之前闰年数量的C语言代码, 并对其进行优化, 使其更加高效、易懂。
**原始代码:**c#include <stdio.h>int main(){ int i; int count=0; int year=i; scanf('%d', &i); for (year=2001;year<i;year++) { if ((year%4==0 && year%100!=0) || year%400==0) { count++; } printf('%d', count);} return 0;}
代码分析与优化:
-
变量赋值顺序: 原始代码中,
year的初始化使用了未赋值的i, 导致year的初始值不确定. 应该先使用scanf函数获取用户输入的年份, 然后将i的值赋给year. -
循环终止条件:
for循环的终止条件应为year <= i, 以包含用户输入的年份. -
输出格式化: 在使用
printf函数打印count时, 应添加格式化字符%d, 并使用进行换行, 使输出更清晰.
**优化后的代码:**c#include <stdio.h>
int main(){ int i; int count = 0; int year;
printf('请输入一个年份:'); scanf('%d', &i);
year = i;
for (year = 2001; year <= i; year++) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { count++; } }
printf('符合条件的年份个数:%d
', count);
return 0;}
优化后的代码能够正确计算从2001年到用户输入的年份之间的闰年数量, 并且代码逻辑更加清晰易懂.
原文地址: https://www.cveoy.top/t/topic/oIv 著作权归作者所有。请勿转载和采集!