# 字串(String) ---- ## STL容器(以後會講) ## 現在可以理解成char的陣列 ---- ## STL家族血繼限界 ## 可彈性增減大小 ## 有滿滿的方便函式可以用 ---- ## 擴增大小 ```cpp= #include <iostream> using namespace std; int main(){ string s; cin >> s; //"apple" s = s+" is yummy"; cout << s << '\n'; //"apple is yummy" } ``` ---- ## .size() ```cpp= #include <iostream> using namespace std; int main(){ string s = "horace orz"; cout << s.size() << '\n'; //10 } ``` ---- ## 取用最後字串最後面的元素 ```cpp= #include<iostream> using namespace std; int main(){ string s = "horace orz"; cout << s[s.size()-1] // z; //因為第一個元素編號是0 -> 第n個元素編號是n-1 } ``` ---- # 練習題 # CSDC #292 ---- ```cpp= #include<iostream> using namespace std; int main(){ string s; cin >> s; bool det = 1; for(int i = 0; i < s.size()/2; i++){ if(s[s.size()-1-i]!=s[i]){ det = 0; break; } } if(det){ cout << 1 << '\n'; } else{ cout << 0 << '\n'; } //cout << det << '\n'; } ``` --- # 二維陣列 ---- # 多個一維陣列 ---- ![](https://i.imgur.com/D5uGg1R.png) ## Row排 column列 ---- # 宣告 ---- ```cpp= #include <iostream> using namespace std; int main(){ int arr[x][y]; //x排y列 } ``` ---- # 取值存值 ---- ![](https://i.imgur.com/pebHfur.png) ---- ```cpp= #include <iostream> using namespace std; int main(){ int arr[x][y]; for(int i = 0; i < x; i++){ for(int j = 0; j < y; j++){ cin >> arr[i][j]; } } } ``` ---- # 練習題 # CSDC #293 ---- ```cpp= #include<iostream> using namespace std; int main(){ int n, m; cin >> n >> m; int add[m]; int score[m][n]; int avg[n]; int add_total = 0; for(int i = 0; i < m; i++){ cin >> add[i]; add_total+=add[i]; } for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++){ cin >> score[i][j]; } } for(int i = 0; i < n; i++){ int total = 0; for(int j = 0; j < m; j++){ total += score[j][i]*add[j]; } avg[i] = total/add_total; } for(int i = 0; i < n; i++){ cout << avg[i] << " "; } } ``` ## code
{"metaMigratedAt":"2023-06-17T14:35:53.603Z","metaMigratedFrom":"YAML","title":"字串(String)","breaks":true,"contributors":"[{\"id\":\"4fa49699-4204-4853-a27b-42a118fdac82\",\"add\":5258,\"del\":3077}]"}
    158 views