題目內容
(請給出正確答案)
閱讀下列說明,回答問題1至問題3。 【說明】 以下代碼由C語言書寫,在輸入3個整數后,能夠輸出最大數和
閱讀下列說明,回答問題1至問題3。
【說明】
以下代碼由C語言書寫,在輸入3個整數后,能夠輸出最大數和最小數。
int main(void)
{
int a, b, c, max, min;
printf("input three numbers: ");
scanf("%d%d%d", &a, &b, &c);
if(a>b) /*判斷1*/
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(max<c) /*判斷2*/
max=c;
else if(min>c) /*判斷3*/
min=c;
printf("max=%d\nmin=%d", max, min);
return 0;
}
請畫出該程序段的控制流圖,并分析該控制流圖中有多少條線性獨立路徑(V(G)的值)。
為了用分支(判定)覆蓋方法測試該程序,需要設計測試用例,使其能對該程序中的每個判斷語句的各種分支情況全部進行過測試。
對兩組輸入數據(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,請分別寫出程序中各個判斷語句的執行結果(以T表示真,以F表示假),填入答題紙的相應欄中。
上述兩組測試數據是否能實現該程序的分支(判定)覆蓋?如果能,請說明理由。如果不能,請再增設一組輸入數據,使其能實現分支(判定)覆蓋。
請幫忙給出每個問題的正確答案和分析,謝謝!
答案


.jpg)
.jpg)
.jpg)
.jpg)