第14周项目一 折腾二维数组

来源:互联网 发布:单片机的发展趋势 编辑:程序博客网 时间:2024/04/30 10:34

问题描述:

   创建一个 5 行 4 列的二维整型数组,通过初始化,为数组中的前两列的 10 个元素赋初值,然后:
 通过键盘输入,使后两列的 10 个元素获得值;
 按行序优先输出数组元素;
 将所有元素值乘以 3 后保存在数组中;
 按列序优先输出(输出的第一行是数组中的第一列……,其实输出的就是“转置”); 

   将数组“倒”着输出(即最后一行最后一列的最先输出,第 0 行第 0 列的最后输出);
 输出数组中的所有偶数;
 输出所有行列下标之和为 3 的倍数的元素值。

代码:

#include <iostream>using namespace std;int main( ){    int i,j;    int a[5][4]= {{0,1},{4,5},{8,9},{12,13},{16,17}};//创建数组,为数组中的前两列的10 个元素赋初值    i=0;    cout<<"请输入 10 个整数:"<<endl;    while (i<5)    {        j=2;        while (j<4)            cin>>a[i][j++];        i++;    }                                                 //键盘输入后两列10 个元素的值    cout<<"数组中的值为:"<<endl;    i=0;    while (i<5)    {        j=0;        cout<<"第"<<i<<"行 :";        while (j<4)            cout<<a[i][j++]<<'\t';        cout<<'\n';        i++;    }                                                  //按行序优先输出    cout<<"现在将所有元素乘以 3倍..."<<'\n';    i=0;    while (i<5)    {        j=0;        while (j<4)            a[i][j++]*=3;        i++;    }                                                  //将所有元素值乘以3后保存在数组中    cout<<"行序优先输出:"<<endl;    i=0;    while (i<5)    {        j=0;        cout<<"第"<<i<<"行 :";        while (j<4)            cout<<a[i][j++]<<'\t';        cout<<'\n';        i++;    }                                                //按行序优先输出    cout<<"列序优先输出:"<<endl;    i=0;    while (i<4)    {        j=0;        cout<<"第"<<i<<"列 :";        while (j<5)            cout<<a[j++][i]<<'\t';        cout<<'\n';        i++;    }                                      //按列序优先输出(见题目描述)    cout<<"倒着输出:"<<endl;    i=4;    while (i>=0)    {        j=3;        cout<<"第"<<i<<"行 :";        while (j>=0)            cout<<a[i][j--]<<'\t';        cout<<'\n';        i--;    }                                      //将数组“倒”着输出(见题目描述)//输出数组中的所有偶数    cout<<"数组中的偶数:"<<endl;    i=0;    while (i<5)    {        j=0;        while (j<4)        {            if (a[i][j]%2==0)                cout<<"a["<<i<<"]["<<j<<"]"<<a[i][j]<<'\t';            j++;        }        cout<<'\n';        i++;    }//输出所有行列下标之和为3的倍数的元素值    cout<<"行列下标之和为 3的倍数的元素:"<<endl;    i=0;    while (i<5)    {        j=0;        while (j<4)        {            if ((i+j)%3==0)                cout<<"a["<<i<<"]["<<j<<"]"<<a[i][j]<<'\t';            j++;        }        cout<<'\n';        i++;    }    return 0;}

运行结果:


0 0
原创粉丝点击