从键盘输入三行字符,存到一个二维数组中,输出用c语言编写
时间: 2024-12-19 17:16:31 浏览: 60
在C语言中,为了从键盘输入三行字符并存储到一个二维数组中,你需要先定义一个二维数组,然后使用`scanf`函数获取用户输入,并将其逐行存储。最后,遍历数组并输出内容。下面是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 10 // 假设每行最多10个字符
// 定义二维数组
char matrix[ROWS][COLS];
int main() {
int i, j;
// 遍历三行
for (i = 0; i < ROWS; i++) {
// 获取每行的字符输入
printf("请输入第 %d 行的字符 (按回车结束): ", i + 1);
fgets(matrix[i], COLS, stdin); // 注意fgets会保留换行符
matrix[i][COLS - 1] = '\0'; // 结束字符串(去掉可能存在的换行符)
}
// 输出矩阵内容
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%c ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
相关问题
编程1:模拟用二维数组的形式存储(内存)10个学生的姓名,学号,C语言成绩(可以用三个二维数组组合实现)。 编程2:用函数调用形式实现10个数中求最大值 并输出,注意输入的10个数先存储在数组中。用C语言编写
在C语言中,你可以使用二维字符数组来存储学生的姓名、学号和成绩,每个学生的信息可以看作是一个行。另外,创建一个单独的一维数组用于存储求最大值的函数。以下是两个任务的简单示例:
**编程1:二维数组存储学生信息**
```c
#include <stdio.h>
#define NUM_STUDENTS 10
// 定义结构体表示学生信息
typedef struct {
char name[50];
int student_id;
float c_language_score;
} Student;
// 初始化二维数组
void init_student_data(Student students[NUM_STUDENTS][3]) {
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第%d位学生的信息(姓名、学号、C语言成绩):", i+1);
scanf("%s %d %.1f", students[i][0], &students[i][1], &students[i][2]);
}
}
// 主程序
int main() {
Student students[NUM_STUDENTS][3];
init_student_data(students);
// 其他代码...
return 0;
}
```
**编程2:函数求最大值**
```c
#include <stdio.h>
// 函数声明
float find_max_value(float arr[], int size);
// 输入数组并调用函数
int main() {
float num_array[NUM_STUDENTS] = {0}; // 假设此处已输入10个数
for (int i = 0; i < NUM_STUDENTS; i++) {
scanf("%f", &num_array[i]);
}
float max_score = find_max_value(num_array, NUM_STUDENTS);
printf("最大值是:%f\n", max_score);
return 0;
}
// 求最大值的函数实现
float find_max_value(float arr[], int size) {
float max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
```
用c语言将三个字符串输入到二维数组中
可以使用二重循环来实现将三个字符串输入到二维数组中,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
#define ROW 3
#define COL 20
int main() {
char arr[ROW][COL];
int i, j;
for (i = 0; i < ROW; ++i) {
printf("请输入第%d个字符串:", i+1);
scanf("%s", arr[i]);
}
printf("\n输入的三个字符串为:\n");
for (i = 0; i < ROW; ++i) {
for (j = 0; j < strlen(arr[i]); ++j) {
printf("%c", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在上述代码中,我们首先定义了一个二维字符数组 `arr`,其中 `ROW` 表示行数,`COL` 表示列数。然后使用一个二重循环,逐个输入三个字符串,最后再使用循环输出这三个字符串。在输入字符串时,我们使用了 `scanf("%s", arr[i])`,其中 `%s` 表示输入一个字符串,`arr[i]` 表示输入的字符串存储在二维数组的第 `i` 行。
值得注意的是,由于使用了字符串库中的 `strlen` 函数来计算字符串的长度,因此在程序中需要包含头文件 `string.h`。
阅读全文
相关推荐

















