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

int i=0;/*i为计数器*/
int n;
i nt 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);
geteh();
return 0;

问答题 出此程序主函数的控制流程图。
【正确答案】主程序的控制流程图如下:
【答案解析】
问答题 计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。
【正确答案】测试用例的设计只要覆盖所有的分支情况即可。设计如下:
N=-9,0,1,12。
【答案解析】