第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

數(shù)組的練習

這里我們會把前面學習到的一維數(shù)組和多維數(shù)組進行一次練習。

對于一維數(shù)組,我們將計算數(shù)組中所有整數(shù)的和。

二維數(shù)組的例子會稍微復雜一點,我們交換一個有 N x N 個元素二維數(shù)組對角元素。

1. 一維數(shù)組練習

首先我們會初始化一個數(shù)組,然后我們會通過循環(huán)語句遍歷訪問數(shù)組中的每一個數(shù)值,然后求和。

#include <stdio.h>

int main()
{
    short sum = 0;
    short a[10] = {2, 1, 4, 34, 12, 34, 56, 78, 11, 2};
    for (int i = 0; i < 10; i++)
    {
        sum += a[i]; // 這是一個簡寫,等價于 sum = sum + a[i];
    }

    printf("Array Sum: %d\n", sum);
    return 0;
}

運行結果:

Array Sum: 234

2. 多維數(shù)組練習

我們先初始化一個有 N x N 個元素的二維矩陣,然后通過嵌套的循環(huán)語句,來訪問數(shù)組中的元素,并且將對行列上的元素進行互換。如同下面表格中的所示。

原始數(shù)組

數(shù)組索引 0 1 2 3
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
3 13 14 15 16

變化后數(shù)組

數(shù)組索引 0 1 2 3
0 1 5 9 13
1 2 6 10 14
2 3 7 11 15
3 4 8 12 16

請大家注意這個交換是對稱的,也就是行列的位置發(fā)生了互換。

#include <stdio.h>

int main()
{
    short x = 0;
    short a[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};

    printf("原始數(shù)組\n");

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

    for (int i = 0; i < 4; i++)
    {
        for (int j = i; j < 4; j++) // 請注意此處是位置交換的關鍵,我們每次都會縮小交換的范圍。
        {
            x = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = x;
        }
    }

    printf("交換位置后的數(shù)組\n");

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

    return 0;
}

運行結果:

原始數(shù)組
1       2       3       4
5       6       7       8
9       10      11      12
13      14      15      16
交換位置后的數(shù)組
1       5       9       13
2       6       10      14
3       7       11      15
4       8       12      16

3. 小結

在這個小結,我們更進一步練習了數(shù)組的使用。對于一維數(shù)組我們會用到一層的循環(huán)語句來遍歷里面的所有元素。在多維數(shù)組中,要想遍歷里面的所有數(shù)據(jù),就要使用多層的嵌套循環(huán)結構。