问题 多项选择题

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

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

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

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

printf("factorial 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=I,0,AB

单项选择题
选择题