閱讀下面程序,則程序段的功能是 #include "stdio.h" main() {int c[]={23,1,56,234,7,0,34},i,j,
閱讀下面程序,則程序段的功能是
#include "stdio.h"
main()
{ int c[]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{ t=c[i];j=i-1;
while(j>=0 && t>c[j])
{ c[j+1]=c[j];j--;}
c[j+1]=t;}
for(i=0;i<7;i++)
printf("%d ",c[i]);
putchar(′\n′);}
A.對數(shù)組元素的升序排列
B.對數(shù)組元素的降序排列
C.對數(shù)組元素的倒序排列
D.對數(shù)組元素的隨機(jī)排列
正確答案:B解析:讀懂兩個循環(huán)的關(guān)系,是解這個題目的關(guān)鍵,本題的第一個for循環(huán)的作用是實(shí)現(xiàn)對數(shù)組元素的遍歷,第二個循環(huán)的作用是排序。while(j>=0 && t>c[j]),這個語句是控制排序的關(guān)鍵語句,它即實(shí)現(xiàn)了比較兩個元素大小的作用,又實(shí)現(xiàn)了元素向后移動的作用,不斷地把大的數(shù)據(jù)向前移動,直到找到一個比它小的,或到數(shù)據(jù)的上界為止。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。