《C语言及程序设计》实践参考——折腾二维数组
2015-05-01 20:14
357 查看
返回:贺老师课程教学链接
【项目1-折腾二维数组】
创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后:
通过键盘输入,使后两列的10个元素获得值;
按行序优先输出数组元素;
将所有元素值乘以3后保存在数组中;
按列序优先输出(输出的第一行是数组中的第一列……,其实输出的就是“转置”);
将数组“倒”着输出(即最后一行最后一列的最先输出,第0行第0列的最后输出);
输出数组中的所有偶数;
输出所有行列下标之和为3的倍数的元素值。
[参考解答]
【项目1-折腾二维数组】
创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后:
通过键盘输入,使后两列的10个元素获得值;
按行序优先输出数组元素;
将所有元素值乘以3后保存在数组中;
按列序优先输出(输出的第一行是数组中的第一列……,其实输出的就是“转置”);
将数组“倒”着输出(即最后一行最后一列的最先输出,第0行第0列的最后输出);
输出数组中的所有偶数;
输出所有行列下标之和为3的倍数的元素值。
#include <stdio.h> int main( ) { int i,j; //创建数组,为数组中的前两列的10个元素赋初值 int a[5][4]= {{0,1},{4,5},{8,9},{12,13},{16,17}}; //键盘输入后两列10个元素的值 printf("请输入10个整数:\n"); //按行序优先输出 printf("数组中的值为:\n"); //将所有元素值乘以3后保存在数组中 printf("现在将所有元素乘以3倍..."; //按行序优先输出 printf("行序优先输出:\n"); //按列序优先输出(见题目描述) printf("列序优先输出:\n"); //将数组“倒”着输出(见题目描述) printf("倒着输出:\n"); //输出数组中的所有偶数 printf("数组中的偶数:\n"); //输出所有行列下标之和为3的倍数的元素值 printf("行列下标之和为3的倍数的元素:\n"); return 0; }提示:编程时,可以做一点,调一点。参考的运行界面如图:
[参考解答]
#include <stdio.h> int main( ) { int i,j; //创建5行4列的二维整型数组,为数组中的前两列的10个元素赋初值 int a[5][4]={{0,1},{4,5},{8,9},{12,13},{16,17}}; //键盘输入使后两列10个元素的值 printf("请输入10个整数:\n"); for(i=0;i<5;++i) for(j=2;j<4;++j) scanf("%d", &a[i][j]); //按行序优先输出 printf("数组中的值为:\n"); for(i=0;i<5;++i) //i行号 { printf("第%d行: ", i); for(j=0;j<4;++j) //j列号 printf("%d\t", a[i][j]); printf("\n"); } //将所有元素值乘以3后保存在数组中 printf("现在将所有元素乘以3倍..."); for(i=0;i<5;++i) for(j=0;j<4;++j) a[i][j]*=3; printf("完成!\n"); //按行序优先输出 printf("行序优先输出:\n"); for(i=0;i<5;++i) //i行号 { printf("第%d行: ", i); for(j=0;j<4;++j) //j列号 printf("%d\t", a[i][j]); printf("\n"); } //按列序优先输出(输出的第一行是数组中的第一列……,其实输出的就是“转置”) printf("列序优先输出:\n"); for(i=0;i<4;++i) //i列号 { printf("第%d列: ", i); for(j=0;j<5;++j) //j行号 printf("%d\t", a[j][i]); printf("\n"); } //将数组“倒”着输出(即最后一行最后一列的最先输出,第0行第0列的最后输出) printf("倒着输出:\n"); for(i=4;i>=0;--i) //i行号 { printf("第%d行: ", i); for(j=3;j>=0;--j) //j列号 printf("%d\t", a[i][j]); printf("\n"); } //输出数组中的所有偶数 printf("数组中的偶数:\n"); for(i=0;i<5;++i) //i行号 { for(j=0;j<4;++j) //j列号 if(0==a[i][j]%2) printf("a[%d][%d]=%d\n", i, j, a[i][j]); } //输出所有行列下标之和为3的倍数的元素值 printf("行列下标之和为3的倍数的元素:\n"); for(i=0;i<5;++i) //i行号 { for(j=0;j<4;++j) //j列号 if(0==(i+j)%3) printf("a[%d][%d]=%d\n", i, j, a[i][j]); } return 0; }
相关文章推荐
- 《C语言及程序设计》实践参考——二维数组当函数参数
- 《C语言及程序设计》实践参考——数组大折腾
- 《C语言及程序设计》实践参考——找数字
- 《C语言及程序设计》实践参考——求解分段函数的值
- 《C语言及程序设计》实践参考——分支嵌套流程图-三等级成绩
- 《C语言及程序设计》实践参考——个人所得税计算器switch语句版
- 《C语言及程序设计》实践参考——循环的嵌套流程图
- 《C语言及程序设计》实践参考——字符串复制
- 《C语言及程序设计》实践项目——二维数组与指针
- 《C语言及程序设计》实践参考——麻烦的累加涨功夫
- 《C语言及程序设计》实践参考——分离各位数
- 《C语言及程序设计》实践参考——谁是小偷
- 《C语言及程序设计》实践参考——求最大公约数
- 《C语言及程序设计》实践参考——学生成绩统计
- 《C语言及程序设计》实践参考——sin泰勒展式中的错误
- 《C语言及程序设计》实践参考——分支嵌套流程图-五等级成绩
- 《C语言及程序设计》实践参考——本月有几天?
- 《C语言及程序设计》实践参考——字符串处理函数
- 《C语言及程序设计》实践参考——如何买玫瑰?
- 《C语言及程序设计》实践参考——污损的单据