c++复习之嵌套循环和二维数组(6)

5.6 嵌套循环和二维数组

二维数组:

int maxtemp [4][5];

这声明意味着maxtemp是一个包含4个元素的数组,每个元素都是一个由5个整数组成的数组。(4行,每行5个值)
表达式 maxtemp[0]是maxtemp数组的第一个元素,因此maxtemp[0]本身就是一个由5个int组成的数组。maxtemp[0]数组的第一个元素是maxtemp[0][0],该元素是一个int。
若要打印数组的所有内容,可以用嵌套循环:

for (int row=0;row<4;row++)
{
    for (int col=0;col<5;col++)
    {
        cout<<maxtemp[raw][col]<<"\t";
    }
    cout << endl;
}

5.6.1初始化二维数组

初始化一维数组:

int bus[4]={1,2,3,4};

初始化二维数组:

int maxtemp[4][5]=
{
    {1,2,3,4,,5},
    {2,3,4,5,6},
    {3,4,5,6,7},
    {4,5,6,7,8}
};

初始化通过列表来赋值,maxtemp用{{},{},{},{}}来赋值,每个元素是一个{}。

5.6.2 example

#include <iostream>
const int Cities  = 5;
const int Years = 4;
int main()
{
    using namespace std;
    const char *cities[Cities] = 
    {
        "A",
        "B",
        "C",
        "D",
        "E"
    };//*cities[0] = *"A" =  A(是说明字符串是地址(首字符的地址),用*解析出来就是char型)
    int maxtemp[Years][Cities] = 
    {
        {1,2,3,4,5},
        {2,3,4,5,6},
        {3,4,5,6,7},
        {4,5,6,7,8}
    };
    cout<<"Maximum temperatures for 2008-2011\n\n";
    for (int city=0;city<Cities;city++)
    {
        cout<< cities[city]<<" :\t";
        for (int year = 0;year<Years;++year)
        {
            cout<<maxtemp[year][city]<<" \t";
        }
        cout <<endl;
    }
    return 0;
}

上述例子中cities使用的是字符串指针数组,cities[0] = “A”,表示:cities[0]是一个char型地址为“A”的首字符的地址。
也可以使用char数组:

char cities[Cities][25] = 
{
    "A",
    "B",
    "C",
    "D",
    "E"
};//cities[0][0]是char

还可以使用string类:

const string cities[Cities] = 
{
    "A",
    "B",
    "C"
};

Test

7

#include <iostream>
#include <string>
#include "func_head.h"//当前目录寻找,<>是在系统中找
const int Size = 20;
const int Len = 20;
void han8()
{
    using namespace std;
    cout << "Enter words(to stop, type the word done):" << endl;
    char word[Size];
    int sum = 0;
    cin >> word;//cin给字符数组录入时,遇到空白(空格,制表,回车)会停止,下一输入将跳过空白!!!
    while (strcmp(word, "done"))
    {
        sum++;
        cin >> word;
    }
    cout << "you entered a total of " << sum << " words.\n";
    system("pause");
}

猜你喜欢

转载自blog.csdn.net/sangohan77/article/details/79036345
今日推荐