浙大版《C语言程序设计(第4版)》题目集参考答案
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
提交结果:
基本思路:
由于公历中二月份存在闰月,所以二月要特殊处理,其他月份每月的天数都是固定的
代码实现:
#include<stdio.h>
int main()
{
int year = 0;
int month = 0;
int day = 0;
scanf("%d/%d/%d", &year, &month, &day);//输入某年某月某日
int sum = 0;
for (int i = 1; i < month; i++)//统计每月的天数
{
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
{
sum += 31;
}
else if (i == 4 || i == 6 || i == 9 || i == 11)
{
sum += 30;
}
else if (i == 2)//2月特殊
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
sum += 29;
}
else
{
sum += 28;
}
}
}
sum += day;
printf("%d", sum);//打印结果
return 0;
}
欢迎提问和纠错,共同讨论一起进步!