针对以下C语言程序,请按要求回答问题。 以下是一个用来求解一元二次方程的C语言程序: 1 main() 2 { 3 float a,b,c,x1,x2,delta; 4 scanf("%f*f%

admin2013-03-13  25

问题 针对以下C语言程序,请按要求回答问题。
   以下是一个用来求解一元二次方程的C语言程序:
   1    main()
   2    {
   3      float a,b,c,x1,x2,delta;
   4      scanf("%f*f%f",&a,&b,&c);
   5      if(a!=0)
   6      {
   7        delta=b*b-4*a*c;
   8        if(delta>0)
   9        {
   10         x1=(-b+sqrt(delta))/(2*a);
   11         x2=(-b-sqrt(delta))/(2*a);
   12         printf("x1=%f,x2=%f\n", x1,x2);
   13       }
   14       else
   15       {
   16         if delta=0)
   17         {
   18           x1=-b/(2*a);
   19           printf("x1=%f\n",x1);
   20         }
   21         else
   22         {
   23           printf("no real solution\n");
   24         }
   25        }
   26      }
   27    }

采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。

选项

答案第一步,根据上述控制流图计算该程序的环路复杂性。 由图可以看出,判定结点数为3,边数为9,结点总数为7,故 V(G)=9-7+2=4 或V(G)=3+1=4 或V(G)=4 第二步,根据环路复杂度为4,可确定4条基本独立路径。 Path1:5—27 Path2:5—8—26—27 Path3:5—8—16—18—26—27 Path4:5—8—16—23—26—27 第三步,设计测试用例。 根据上面4条基本独立路径,可以设计测试用例如下: 测试用例1: 输入数据:a=0,b=1,c=1 预期输出结果:程序结束(这时方程不是二元一次方程) 测试用例2: 输入数据:a=1,b=3,c=2 预期输出结果:x1=-1,x2=-2 测试用例3: 输入数据:a=1,b=-2,c=1 预期输出结果:x1=1 测试用例4: 输入数据:a=1,b=1,c=1 预期输出结果:no real solution

解析
转载请注明原文地址:https://kaotiyun.com/show/EaNZ777K
0

相关试题推荐
最新回复(0)