ASCII排序
需求:
代碼如下:
1 #include <iostream>
2 #include <string.h>
3 using namespace std; 4 int main() 5 { 6 char str[]="networks"; 7 int i,j,len; 8 len=strlen(str); //獲取字符串的長度,需要引入外部頭文件 9 for(i=0;i<len-1;i++){ //這里用到雙重循環來控制兩個相鄰字符進行比較 10 for(j=i+1;j<len;j++){ 11 if(str[i]>str[j]){ //相鄰兩個數(字符的背后代表的就是數字ASCLL碼)作比較,如果前一個大於后一個,則進行交換 12 char ch=str[i]; 13 str[i]=str[j]; 14 str[j]=ch; 15 } 16 } 17 } 18 cout<<str; 19 return 0; 20 }
分析與總結:
1、感覺題目描述的不是很明確,應該改為“將字符串按ascll碼的大小進行排序”。
2、學習到了string類中的strlen函數來計算字符串的長度。
3、還有就是學習到了前后兩個比較時,用到“雙重循環+if語句判斷”的思維方法。
寫在最后:
哪里有不足或者錯誤的地方,歡迎小伙伴們進行指教,一起進步哦!