欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

已知C源程序如下:/ * longIntAdd * / include <stdio. h> include <string. h> defi

时间:2017-09-26

已知C源程序如下:

/ * longIntAdd * /

include <stdio. h>

include <string. h>

define LENGTH 81

void addLInt(char sl(),char s2()); void reverse(char s()) ; int main()

{

char intstrl[LENGTH],intstr2[LENGTH];

printf("请输入超长整数的被加数和加数:\n")

scanf("%s%s" ,intstrl ,intstr2) ; addLInt(intstrl ,intstr2) j printf("超长整数和为: %s" .intstrl); return 0;

}

void addLInt(char sl() ,char s2()) {

int i=0,tmp,c=0;

char s[LENGTH];

if(strlen(s1)<strlen(s2)){ strcpy(s,sl); strcpy(sl,s2); strcpy(s2,s);

}

reverse(sl);reverse(s2);

while(s2[i]! ='\0'){

tmp=sl[i]-'0'+s2[i]-'0'+ c;

sl[i] = tmp%10+,0';

c=tmp/10;

i++; } while(sl[i]! ='\0,&&c){

tmp=sl[i] —'0' + c;

sl[i] = tmp%10+'0';

c=tmp/10;

i++; } If(c){

sl[i++] = c+'0';

sl[i] = '\0'; } reverse(sl);

}

void reverse(cliar s())

{

inti,j,c;

for(i=0,j = strlen(s) -l;i<j;i++,j--){

c=s[i]; s[i] = s[j]; s[j] = c; } }

(1)画出程序中函数addLInt的控制流程图(10分);

(2)设计一组测试用例,使该程序addLInt函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该函数的语句覆盖率或分支覆盖率无法达到100%,需说明为什么(10分)。

答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。


答 案:×
(1)函数addLInt的控制流程图。C2)测试用例a.sl:“111111111111111l”s2:“2222222222222222”b. s1:“123456789” s2:“989”c.s1:“989” s2 :“123456789”d.sl :“999999999999” s2 :“111111”解析:语句覆盖是指设计若干测试用例,运行被测程序,使得每个可执行语句至少执行一次。语句覆盖率=被评价到的语句数量/可执行的语句数量×100%。设计若干测试用例,运行被测程序使得每个判定的取真分支和取假分支至少评价一次。判定覆盖率=被评价到的判定分支个数/判定分支的总数×100%。当输入a、b、c、d中的测试用例后,语句覆盖率和分支覆盖率均为100%。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。