c语言输出若干行若干列字符串
时间: 2023-08-31 08:20:09 浏览: 74
### 回答1:
在C语言中,可以使用循环语句和数组来输出若干行若干列的字符串。以下是一个例子,输出一个3行3列的字符串矩阵:
```
#include <stdio.h>
int main() {
char str[3][3][10] = {
{"apple", "banana", "cherry"},
{"orange", "pear", "grape"},
{"watermelon", "pineapple", "mango"}
};
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%-10s", str[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
apple banana cherry
orange pear grape
watermelonpineapple mango
```
在这个例子中,我们使用了一个三维字符数组来存储字符串矩阵,然后使用两个循环分别遍历行和列,输出每个元素的字符串。注意,我们在%s格式控制符前面加上了%-10,这是为了保证每个输出的字符串都占据10个字符的宽度,方便对齐。
### 回答2:
要用C语言输出若干行若干列的字符串,可以使用双重循环结构实现。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int rows, cols;
// 获取输入的行数和列数
printf("请输入要输出的行数:");
scanf("%d", &rows);
printf("请输入要输出的列数:");
scanf("%d", &cols);
// 定义字符串数组
char str[rows][cols][100]; // 假设每个字符串的最大长度为100
// 获取每个字符串的输入
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("请输入第%d行第%d列的字符串:", i+1, j+1);
scanf("%s", str[i][j]);
}
}
// 输出每个字符串
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%s\t", str[i][j]);
}
printf("\n");
}
return 0;
}
```
在代码中,我们首先通过`scanf`获取用户输入的行数和列数,然后定义了一个三维字符数组`str`来存储每个字符串。接下来,通过嵌套的`for`循环,依次获取用户输入的每个字符串,并存储在对应的数组元素中。最后,再通过嵌套的`for`循环,逐个输出每个字符串。输出时使用`"\t"`来实现列对齐,使用`"\n"`实现换行。
### 回答3:
要使用C语言输出若干行若干列的字符串,可以使用二维字符数组。
首先,我们定义一个二维字符数组来存储要输出的字符串,同时定义变量rows和cols来表示行数和列数。假设我们要输出3行4列的字符串,代码如下:
```c
#include <stdio.h>
int main() {
int rows = 3;
int cols = 4;
char strings[rows][cols][50] = {
{"string00", "string01", "string02", "string03"},
{"string10", "string11", "string12", "string13"},
{"string20", "string21", "string22", "string23"}
};
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%s ", strings[i][j]);
}
printf("\n");
}
return 0;
}
```
上述代码中,我们定义了一个3行4列的二维字符数组strings,并给每个元素赋予了相应的字符串。然后,使用嵌套的for循环遍历数组,逐个输出每个元素对应的字符串,并在每行结束后换行。
运行上述代码,将输出如下结果:
```
string00 string01 string02 string03
string10 string11 string12 string13
string20 string21 string22 string23
```
以上是使用C语言输出若干行若干列字符串的方法。
阅读全文