问题 问答题

以下是某C程序段,其功能是计算出某一天是一年中的第几天,请仔细阅读程序并完成要求。
#include
struct days

int year;
int month;
int date;
day;
void main()

struct days *p;
int num=0,i;
int m[13]=0,31,28,31,30,31,30,31,31,30,31,30,31;
p=&day;
printf("please input the day:\n");
scanf("%d%d%d",&(p->year),&(p->month),&(p->date));
for(i=0;i<(p->month);i++)
num+=m[i];
num+=(p->date);
if((p->year)%4==0&&(p->year)%100!=0||(p->year)%400==0)
if((p->month)>2)
num++;
printf("This day is %d day in the year.\n",num);

设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。

答案