问题 问答题

以下是某C程序段,其功能为计算输入数字的阶乘。请仔细阅读程序并完成要求。
# incllade<stdiO.h>
# incllade<stdl ib.h>
int main()

int i:0;/*i为计数器*/
int n:
int factorial=1;/*保存阶乘的结果*/
puts("*************************************"):
puts("* The program will compute*");
puts("* the fact。tial 0f an integer*");
puts("*************************************"):
puts("please input the number n:");
scanf("%d’,&n);
if(n<0)/*判断输入的数是否大于或等于0*/

printf("please input an interget>=0.\n");
return 0:

if(n==0)/*0的阶乘是1*/

printf("fa(:tOrial of 0 is 1.\n");
return 0:

i=1:
while(i<=n)

factorial:factorial * i:
i++:

printf("factorial of %d is:%d.\n’,n,factorial);
getch();
return 0:

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

答案

参考答案:测试用例的设计只要覆盖所有的分支情况即可。设计如下:
N=-9,0,12.

不定项选择
多项选择题