民國111年 普通考試 電子工程 計算機概要
第23題
執行下列C 程式時int len=0, num=0;float sum=0;while (ch=getchar()!='\n'){if (ch!=' ')len…
題目
執行下列C 程式時int len=0, num=0;float sum=0;while (ch=getchar()!='\n'){if (ch!=' ')len++;else{sum+=len;len=0;num++;}}printf("%.1f", sum/num);若輸入以下一段文字後再輸入換行鍵It was deja vu all over again.則輸出為? A. 1.2 B. 2.3 C. 3.4 D. 4.5
官方答案
- 答案:C. 3.4
解析
程式逐字元讀入,遇到非空白字元就把 len 加一,遇到空白則把該字長度累加到 sum、len 歸零、num 加一,最後輸出平均字長。各字長度為 It=2、was=3、deja=4、vu=2、all=3、over=4、again.=6,總和 2+3+4+2+3+4+6=24,字數 num=7,平均 24/7≈3.43,以 %.1f 印出得 3.4。此題須按 ((ch=getchar())!='\n') 的方式判讀,才能得到選項中的數值。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。