#include <stdio.h> #include <stdlib.h> int isleap(int year) {int leap; leap= (year%4==0 && year%100!=0 || year%400==0); /**********found**********/ return__(1)__; } int fun(int year, int month, int day) {int table[13]={0,31,28,31,30,31, 30,31,31,30,31,30,31}; int days=0,i; for(i=1; i<month; i++) days=days + table[i]; /**********found**********/ days=days+__(2)__; if(isleap(year) && month>2) /**********found**********/ days=days+__(3)__; return days; } main() { int year, month, day,days; printf("请输入年、月、日:"); scanf("%d%d%d",&year,&month,&day); days = fun(year, month, day); printf("%d年%d月%d日是该年的第%d天\n",year, month, day, days); system("pause"); return 0; }用C语言
时间: 2023-07-19 22:31:07 浏览: 157
这是一段 C 语言代码,实现的功能是输入一个日期,输出该日期是当年的第几天。代码中缺少三个部分,需要填空。
```c
#include <stdio.h>
#include <stdlib.h>
int isleap(int year)
{
int leap;
leap = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
/**********found**********/
return leap;
}
int fun(int year, int month, int day)
{
int table[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int days = 0, i;
for (i = 1; i < month; i++)
days = days + table[i];
/**********found**********/
days = days + day;
if (isleap(year) && month > 2)
/**********found**********/
days = days + 1;
return days;
}
int main()
{
int year, month, day, days;
printf("请输入年、月、日:");
scanf("%d%d%d", &year, &month, &day);
days = fun(year, month, day);
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, days);
system("pause");
return 0;
}
```
其中第一个缺失部分应该填 `leap`,因为 `isleap` 函数返回的是是否是闰年,即 1 表示是闰年,0 表示不是闰年。
第二个缺失部分应该填 `day`,因为要计算出输入的日期是当年的第几天,需要将该日期加上之前的天数。
第三个缺失部分应该填 `1`,因为如果是闰年并且输入的月份大于 2,需要将天数加 1。
阅读全文