编程C本: 帖子 9 – 在C数组

之前了解一些在C数组, 我们试图例如开放办.

1. 例如,开口

考虑示例条目 5 整, 输出到屏幕 5 其中上线和总 5 哪.

// e.g about array - code by nguyenvanquan7826
#include <stdio.h>

int main() 
{
    int a, b, c, d, e; // 5 bien

    printf("Nhap a = ");
    scanf("%d", &a);

    printf("Nhap b = ");
    scanf("%d", &b);

    printf("Nhap c = ");
    scanf("%d", &c);

    printf("Nhap d = ");
    scanf("%d", &d);

    printf("Nhap e = ");
    scanf("%d", &e);

    int tong  = a + b + c + d + e;
    printf("Tong cua %d + %d + %d + %d + %d = %d \n", a, b, c, d, e, tong);

    return 0;
}

结果:

纳米羟基磷灰石A = 3
纳米羟基磷灰石B = 5
纳米羟基磷灰石C = 3
纳米羟基磷灰石d = 6
纳米羟基磷灰石E = 1
塘蟹 3 + 5 + 3 + 6 + 1 = 18

作为例子,我们看到所有进入 5 我们做了一些画面看起来很辛苦,我们不得不使用太多的变数, 如果变量,我们是不是数字 5 就是说 50, 500,......那么这个结果是非常困难的. 为了解决这个问题,我们使用数组.

一组的数组元素具有相同的数据类型. 数组的数组 1 晚, 2 晚,......而且每种类型的数据,有 1 相应的数组 (整数数组, 真正的数组, 字符数组 (链)),......我主要考虑的数组 1 维数组 2 晚.

现在,我们将解决在使用数组的例子 1 晚.

2. 数组 1 晚

2.1 示例概述

您是否尝试过阅读和运行这个程序, 那么请参阅下面的详细信息.

// e.g about array - code by nguyenvanquan7826
#include <stdio.h>

int main() 
{
    // khai bao mang a co n phan tu
    int n = 5, i, s = 0;
    int a[n];

    // thuc hien nhap tung phan tu mang
    for (i = 0; i < n; i++) 
    {
        printf("Nhap a[%d] = ", i);
        scanf("%d", &a[i]);
    }

    // thuc hien in cac phan tu cua mang ra man hinh
    printf("\nMang da nhap \n");
    for (i = 0; i < n; i++) 
    {
        printf ("%d \t", a[i]);
    }

    // tinh tong cac so trong mang
    for (i = 0; i < n; i++) 
    {
        s += a[i]; // s = s + a[i]
    }
    printf("\nTong cac so trong mang: %d\n", s);

    return 0;
}

导入[0] = 3
导入[1] = 4
导入[2] = 6
导入[3] = 2
导入[4] = 7
把进入
3 4 6 2 7
承载总和: 22

2.2 如何声明数组 1 晚

KieuDuLieu TenMang [SoPhanTu];

首席执行官: int a[10];

数组 1 下午,包括 10 整数类型元素. 声明后,有 1 数组看起来像这样:

数组 1 晚

声明阵列用 10 元素

2.3 如何访问的元件的阵列中

后该阵列被声明, 阵列中的每个元素是用于参照索引. 该指数从开始 0 到n-1的 (其中n是阵列的大小). 在上面的例子, 我宣布阵列 10 元件,所述索引起始 0 到 9.
我们通过语法访问: TenMang[ChiSo]

数组 1 晚

检索数组在C中

2.4 如何导入和导出数组的元素

输入数据的阵列中,我们需要浏览到每个元素的数组中的元素,并继续进入一个循环

for (i = 0; i < n; i++) 
{
    printf("Nhap a[%d] = ", i);
    scanf("%d", &a[i]);
}

阵列中的元素的出版物也进行了类似的:

for (i = 0; i < n; i++) 
{
    printf ("%d \t", a[i]);
}

2.5 使用功能输入输出数组

在许多问题, 我们要输入多个阵列, 输出多次, 与此同时,让我们把上的功能,便于进入和使用.

// e.g about array - code by nguyenvanquan7826
#include <stdio.h>

void nhapMang(int a[], int n) 
{
    int i;
    // thuc hien nhap tung phan tu mang
    for (i = 0; i < n; i++) {
        printf("Nhap a[%d] = ", i);
        scanf("%d", &a[i]);
    }
}

void xuatMang(int a[], int n) 
{
    int i;
    for (i = 0; i < n; i++) {
        printf ("%d \t", a[i]);
    }
}

int main() 
{
    // khai bao mang a co n phan tu
    int n = 5;
    int a[n];
    nhapMang(a, n);
    xuatMang(a, n);

    return 0;
}

注意: 有关系的数组 1 指针, 阵列,从而 1 指针传递给函数的阵列,将受影响的数组的元素,如果有在阵列中的任何变化.

2.6 其他一些注意事项

初始化数组: 我们可以在声明立即初始化数组. 首席执行官: float a [5] = {3.4, 5, 6, 7, 4,2}
有了这个初始化,如果我们超越初始化 5 元素将报告错误, 没有任何元素是是值的元件 0.
首席执行官: float a [5] = {3.4, 5, 7} => a[4] = 0.
首席执行官: float a [5] = {3.4, 5, 7, 1, 2, 3} =>机错误.
此外,我们必须声明并初始化一个先前未知的数阵.
首席执行官: int a[] = {3,6,2,5} =>与阵列 4 接收相应的元素值.
或: int a[]; =>通常使用数组作为函数形式参数时使用.

3. 数组 2 晚

我们可以把它看成一个矩阵. 大自然, 声明, 进出口,......类似阵列 1 晚.

KieuDuLieu TenMang [SoHang][SoCot];

VD报告: int a[5][10]; =>数组一个组成 5 商品和 10 职位 (每一行 10 元素).

数组 1 晚

数组 2 C语言的方式

// e.g about array - code by nguyenvanquan7826
#include <stdio.h>
#define MAX 10

// nhap mang n hang, m cot
void nhapMang(int a[MAX][MAX], int n, int m) 
{
    int i, j;
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            printf("Nhap a[%d][%d] = ", i, j);
            scanf("%d", &a[i][j]);
        }
    }
}

// xuat mang n hang, m cot
void xuatMang(int a[MAX][MAX], int n, int m) 
{
    int i, j;
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            printf ("%-3d", a[i][j]);
        }
        printf("\n"); // xuong dong khi het 1 dong
    }
}

int main() 
{
    // khai bao mang a co n phan tu
    int n = 2, m = 3;
    int a[MAX][MAX];
    nhapMang(a, n, m);
    xuatMang(a, n, m);

    return 0;
}

注意: 的存储器中的实质, 该阵列的元件 2 晚 (和多维数组) 举办​​许多阵列 1 连续维, 因此,我们可以提供阵列 2 维牌匾 1 晚.

chap9-琉-TRU-熊2日下午,在-c.png

数组 1 晚

组织, 存储阵列 2 C语言的方式

锻炼

  1. 进入到一个数组, 找到数组中的最大和最小的数字输入.
  2. 输入一系列的数字, 打印出的最大的地方 (可以有多个位置).
  3. 输入的降水序列是连续一年一个月. 月降雨量比该月的平均降雨量的通知.
  4. 输入一系列的数字, 排序,并且以升序顺序印刷.
  5. 进入矩阵 (板 2 晚). 打印出来的矩阵中的每一行的总和.