二维字符数组¶
字符数组 char s[N][N];
¶
二维字符数组的输入输出
char s[N][N];
int n, m; // n行m列
int main() {
cin >> n >> m;
for (int i = 0; i < n; i++) cin >> s[i];
for (int i = 0; i < n; i++) cout << s[i] << endl;
return 0;
}
我们把每一行当成一个字符串读入,而不是一个字符一个字符的读入。
这样可以有效避免,读入行末的多余空格,导致簒位置。
二维字符数组的访问
二维字符数组的遍历
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
if (s[i][j] == '@') cout << 1;
else cout << cout << 0;
cout << endl;
}
string 数组 string s[N];
¶
每一行定义成一个 string
,这样就可以表示二维字符数组了。
输入输出、访问、遍历的操作,同上。
字典序排序
在英文字典中,排列单词的顺序是先按照第一个字母以升序排列(即a、b、c……z 的顺序);如果第一个字母一样,那就比较第二个、第三个乃至后面的字母。如果比到最后两个单词不一样长(比如,sigh 和 sight),那么把短者排在前。