编写一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
例如,矩阵为:
3 0 0 3
2 5 7 3
1 0 4 2
则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素和
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2021-11-14 18:30关注
一个简单的实现:
#include <stdio.h> int main(void){ int m = 3; int n = 4; int i = 0; int matrix [m*n]; int sum = 0; while(i<m*n){ scanf("%d",&matrix[i]); i++; } for(i=0;i<m*n;i++){ printf("matrix[%d]=%d\n",i,matrix[i]); } /* 3 0 0 3 1 0 4 2 3 2 1 3 3 2 */ //累积矩阵最上层的和 for(i=0;i<n;i++){ sum+=matrix[i]; } printf("最上层:%d\n",sum); //累积矩阵最左边的和 for(i=0;i<m;i++){ sum+=matrix[i*n]; } printf("最左边:%d\n",sum); //累积矩阵最下层的和 for(i=0;i<n;i++){ sum+=matrix[(m-1)*n+i]; } printf("最下边:%d\n",sum); //累积矩阵最右边的和 for(i=0;i<m;i++){ sum+=matrix[(n-1)+i*n]; } printf("最右边:%d\n",sum); //依次减去重复计算了一次的四个定点的值:左上角,右上角,左下角,右下角 sum-= (matrix[0]+matrix[n-1]+matrix[(m-1)*n]+ matrix[m*n-1]); printf("%dx%d矩阵的外围和是:%d\n",m,n,sum); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
- ¥15 孟德尔随机化怎样画共定位分析图
- ¥18 模拟电路问题解答有偿速度
- ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
- ¥15 误删注册表文件致win10无法开启
- ¥15 请问在阿里云服务器中怎么利用数据库制作网站
- ¥60 ESP32怎么烧录自启动程序
- ¥50 html2canvas超出滚动条不显示
- ¥15 java业务性能问题求解(sql,业务设计相关)
- ¥15 52810 尾椎c三个a 写蓝牙地址