问答题 以下是某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=9,0,12
【答案解析】