有以下程序 #include #include void fun(char s[][10],int n
有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; j++) /*比較字符串的首字符大小,并交換字符串的首字符*/ if(s[i][0] > s[j][0]) { t = s[i][0]; s[i][0] = s[j][0]; s[j][0] = t;} } main() { char ss[5][10]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的運行結(jié)果是
A.xy, aaaacc
B.a(chǎn)aaacc,xy
C.xcc,aabcc
D.a(chǎn)cc,xabcc
正確答案:D解析:在函數(shù)fun()中有一個兩層嵌套的for循環(huán),外循環(huán)變量i從0遞增到n-2,內(nèi)循環(huán)變量i從i+1循環(huán)遞增到n-1,這是選擇排序算法的標準結(jié)構(gòu)。循環(huán)體中因為逆序條件為“s[i][0]> s[j][0]”,所以實現(xiàn)的是升序排序。由此可見,fun()函數(shù)實現(xiàn)的功能是對一個二維字符數(shù)組前n行的首字符進行升序排序。主函數(shù)中定義的二維數(shù)組初始化為{"bcc",”bbcc", "xy","aaaacc","aabcc"},通過fun()函數(shù)的排序后,結(jié)果將為acc","abcc","b
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域?qū)I(yè)人士。