close
二、有一字串輸入順序為〝Java〞、〝Assembly〞、〝Delpha〞、〝Basic〞、〝Fortran〞、〝Cobl〞,請列出此字串前排序為何?排序後為何?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
 char words[6][10];
 int i,j;
 char t[10];
 strcpy(words[0],"JAVA");
 strcpy(words[1],"Assembly");
 strcpy(words[2],"Delpha");
 strcpy(words[3],"Basic");
 strcpy(words[4],"Fortran");
 strcpy(words[5],"Cobl");
 for(i=0;i<6;i++)
 printf("%s\n",words[i]);     
 
 for(i=0;i<6;i++){
   for(j=i+1;j<6;j++){ // 從i+1開始是因為 從0~i 都確定了
   t[0] = words[i][0]; 
   if(words[j][0]<t[0]){
// 如果word[j][0] < t[0]
// 則把 word[i] 和 word[j] 交換
// 所以巢狀迴圈的內圈每跑完一次就會
// 比如說第一次跑完就會決定出 Assembly 是在最前面的
// 因為A的asciicode最小
// 把完 8 次就會依序決定出前8個最小的
 
   strcpy(t,words[j]);  
   strcpy(words[j],words[i]);
   strcpy(words[i],t);
   }
   
   }
 }
cout << endl ;
 for(i=0;i<6;i++)
 printf("%s\n",words[i]);    
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

arrow
arrow
    全站熱搜

    偽新聞新聞雜誌 發表在 痞客邦 留言(3) 人氣()