c语言数组的输入 c语言数组的输入输出

C语言数组的输入

在C语言中,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,数组的输入是编程中常见的操作,它涉及到如何从用户那里获取数据并将其存储到数组中,本文将详细介绍如何在C语言中实现数组的输入。

我们需要了解什么是数组,数组是一种线性表,它包含固定数量的元素,这些元素具有相同的类型和名称,数组中的每个元素都有一个唯一的索引,我们可以通过这个索引来访问或修改元素,一个包含5个整数的数组可以表示为int arr[5]。

在C语言中,我们可以使用scanf函数来从标准输入(通常是键盘)读取数据并存储到数组中,scanf函数的第一个参数是一个格式字符串,它描述了要读取的数据的类型和格式,第二个参数是要读取数据的变量的地址。

以下是一些常见的数组输入的例子:

1、输入一个整数数组:

#include <stdio.h>
int main() {
    int n, i;
    printf("Enter the number of elements: ");
    scanf("%d", &n);
    int arr[n];
    printf("Enter the elements: ");
    for(i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    return 0;
}

在这个例子中,我们首先从用户那里获取数组的大小n,然后创建一个大小为n的整数数组,我们使用一个for循环来读取n个整数并将它们存储到数组中。

2、输入一个字符串数组:

#include <stdio.h>
#include <string.h>
int main() {
    int n, i;
    printf("Enter the number of elements: ");
    scanf("%d", &n);
    char arr[n][100]; // 假设字符串的最大长度为100
    printf("Enter the elements: ");
    for(i = 0; i < n; i++) {
        scanf("%s", arr[i]); // 注意,这里不需要取地址,因为数组名本身就是一个指针
    }
    return 0;
}

在这个例子中,我们首先从用户那里获取数组的大小n,然后创建一个大小为n的字符串数组,我们使用一个for循环来读取n个字符串并将它们存储到数组中,注意,当我们使用scanf读取字符串时,我们不需要取地址,因为数组名本身就是一个指针。

3、输入一个二维数组:

#include <stdio.h>
#include <math.h>
int main() {
    int n, m, i, j;
    printf("Enter the number of rows: ");
    scanf("%d", &n);
    printf("Enter the number of columns: ");
    scanf("%d", &m);
    int arr[n][m]; // 创建一个n行m列的整数数组
    printf("Enter the elements: ");
    for(i = 0; i < n; i++) {
        for(j = 0; j < m; j++) {
            scanf("%d", &arr[i][j]); // 使用两个嵌套的for循环来读取二维数组的元素
        }
    }
    return 0;
}

在这个例子中,我们首先从用户那里获取二维数组的行数n和列数m,然后创建一个n行m列的整数数组,我们使用两个嵌套的for循环来读取二维数组的元素并将它们存储到数组中。