/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: array.cpp * 作 者: 王颖 * 完成日期: 2013 年 12 月 03 日 * 版本号: v1.0 * 输入描述:无 * 问题描述:定义二维数组,为数组赋初值、输入值、更改值、按各种方法输出 */ #include <iostream> using namespace std; int main( ) { int i,j; //创建5行4列的二维整型数组,为数组中的前两列的10个元素赋初值 int a[5][4]= {{0,1},{4,5},{8,9},{12,13},{16,17}}; int b[4][5]; cout<<"请输入10个整数:"<<endl;//键盘输入使后两列10个元素的值 for(i=0; i<5; i++) { for(j=2; j<4; j++) cin>>a[i][j]; } cout<<"数组中的值为:"<<endl; for(i=0; i<5; i++) //按行序优先输出 { cout<<"第"<<i<<"行:"; for(j=0; j<4; j++) cout<<a[i][j]<<'\t'; cout<<endl; } //将所有元素值乘以3后保存在数组中 cout<<"现在将所有元素乘以3倍...漂亮!"<<endl; cout<<"行序优先输出:"<<endl; for(i=0; i<5; i++) { cout<<"第"<<i<<"行:"; for(j=0; j<4; j++) { a[i][j]=3*a[i][j]; cout<<(a[i][j])<<'\t'; } //按行序优先输出 cout<<endl; } //按列序优先输出(输出的第一行是数组中的第一列……,其实输出的就是“转置”) cout<<"列序优先输出:"<<endl; for(i=0; i<5; i++) { for(j=0; j<4; j++) b[j][i]=a[i][j]; } for(i=0; i<4; i++) { cout<<"第"<<i<<"行:"; for(j=0; j<5; j++) cout<<b[i][j]<<'\t'; //按行序优先输出 cout<<endl; } //将数组“倒”着输出(即最后一行最后一列的最先输出,第0行第0列的最后输出) cout<<"倒着输出:"<<endl; for(i=3; i>=0; i--) { cout<<"第"<<i<<"行:"; for(j=4; j>=0; j--) cout<<b[i][j]<<'\t'; //按行序优先输出 cout<<endl; } //输出数组中的所有偶数 cout<<"数组中的偶数:"<<endl; for(i=0; i<5; i++) { for(j=0; j<4; j++) { if(a[i][j]%2==0) cout<<"a["<<i<<"]["<<j<<"]"<<"="<<a[i][j]<<'\n'; //按行序优先输出 } } //输出所有行列下标之和为3的倍数的元素值 cout<<"行列下标之和为3的倍数的元素:"<<endl; for(i=0; i<5; i++) { for(j=0; j<4; j++) { if((i+j)%3==0) cout<<"a["<<i<<"]["<<j<<"]"<<"="<<a[i][j]<<'\n'; //按行序优先输出 } } return 0; }
心得体会:最一块运行一块更快!!