用C语言写出使用分支语句编写程序:输入某年某月某日,判断这一天是这一年的第几天?
时间: 2023-09-28 22:07:13 浏览: 265
下面是使用分支语句编写的程序,可以实现输入某年某月某日,判断这一天是这一年的第几天的功能:
```c
#include <stdio.h>
int main()
{
int year, month, day, days = 0;
printf("请输入年月日,格式为 yyyy mm dd:\n");
scanf("%d %d %d", &year, &month, &day);
// 计算这一年是否为闰年
int leap = 0;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
leap = 1;
}
// 计算每个月的天数
int monthDays[12] = {31,28 + leap,31,30,31,30,31,31,30,31,30,31};
// 计算这一天是这一年的第几天
for (int i = 0; i < month - 1; i++)
{
days += monthDays[i];
}
days += day;
printf("%d 年 %d 月 %d 日是这一年的第 %d 天\n", year, month, day, days);
return 0;
}
```
程序的实现思路如下:
1. 首先通过 `scanf` 输入年月日。
2. 判断这一年是否为闰年,如果是闰年则将二月的天数加一。
3. 定义一个数组 `monthDays` 存储每个月的天数,通过循环计算输入的月份之前的所有天数。
4. 将输入的日数加上之前计算得到的天数,得到这一天是这一年的第几天。
5. 最后输出结果。
需要注意的是,以上程序中并没有对输入的年月日进行合法性判断,实际使用中可能需要对输入数据进行一定的检查。
阅读全文