问答题论述题3:
已知C源程序如下:
/*分数运算 fsys.c*/
#include<stdio.h>
int main()
long int a,b,c,d,i,x,y,z;
char op;
printf("两分数b/a,d/c作+、-、*、/四则运算。结果为分数。\n");
printf("请输入分数运算式:b/a op d/c\n");
scanf("%ld/%ld%c%ld%ld",&b,&a,&op,&d,&C) ;
if(a==0||c==0)
printf("分母为0,输入错误!\n");
return(0);
if(op==’+’)
y=b*c+d*a;
x=a*c; /*运算结果均为y/x*/
if(op==’-’)
y=b*c-d*a;
x=a*c;
if(op==’*’)
y=b*d;
x=a*c;
if(op==’/’)
y=b*c;
x=a*d;
z=x;
if(x>y)z=y;
i=z;
while(i>1)
if(x%i==0&&y%i==0)x=x/i;y=y/i;continue;;
i——;
printf("%ld/%ld%c%ld/%ld=%ld/%ld.\n",b,a,op,d,c,y,x);
return 0;设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。