用c语言 定义一个二维字符数组,把字母a-z和A-Z存储到该数组中,并遍历展示
时间: 2024-09-19 15:16:51 浏览: 34
在C语言中,我们可以使用`char`类型的二维数组来存储大写字母和小写字母。这里是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 5 // 数组行数
#define COLS 50 // 每行字母数
// 定义二维字符数组
char alphabet[ROWS][COLS] = {
{'A', 'B', 'C', 'D', 'E', ..., 'Z'},
{'a', 'b', 'c', 'd', 'e', ..., 'z'}
};
int main() {
int i, j;
// 遍历并打印数组
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%c ", alphabet[i][j]); // 如果需要换行,可以在这里加上 '\n'
}
printf("\n"); // 每行结束后换行
}
return 0;
}
```
在这个例子中,我们创建了一个5x50大小的二维数组,分别存放了大写字母和小写字母。注意实际运行中字母'A'至'Z'以及'a'至'z'需要填充完整,这里是省略的部分。
相关问题
C语言中一个二维字符串数组如何知道有几行
和每行的字符个数?
在C语言中,一个二维字符串数组的每行都是一个字符数组,每个字符数组都以'\0'结尾。我们可以通过遍历每行的字符数组,以'\0'作为结束标记来确定该行的字符数,并且通过遍历整个二维字符串数组,以'\0'结尾的字符数组的个数即为二维字符串数组的行数。具体实现可以参考下面的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char strArr[3][10] = {"hello", "world", "!"};
int row, col;
// 获取二维字符串数组的行数和每行的字符数
for (row = 0; row < 3; row++)
{
col = 0;
while (strArr[row][col] != '\0') // 以'\0'为结束标记
{
col++;
}
printf("第%d行有%d个字符\n", row+1, col);
}
printf("二维字符串数组有%d行\n", row);
return 0;
}
```
输出结果:
```
第1行有5个字符
第2行有5个字符
第3行有1个字符
二维字符串数组有3行
```
C语言程序用for循环分别遍历出一维数组、二维数组和字符串
当然可以!以下是使用for循环分别遍历一维数组、二维数组和字符串的C语言示例代码:
遍历一维数组:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < length; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
```
遍历二维数组:
```c
#include <stdio.h>
int main() {
int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int rows = sizeof(arr) / sizeof(arr[0]);
int cols = sizeof(arr[0]) / sizeof(arr[0][0]);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
遍历字符串:
```c
#include <stdio.h>
int main() {
char str[] = "Hello";
int length = sizeof(str) / sizeof(str[0]);
for (int i = 0; i < length-1; i++) { // 遍历字符串时,不包括字符串末尾的'\0'字符
printf("%c\n", str[i]);
}
return 0;
}
```
这些代码分别会遍历并打印出一维数组、二维数组和字符串中的元素。希望对你有所帮助!如果你还有其他问题,请随时提问。