昨天上机了,之前上机都觉得题目挺简单的,但昨天的题明显比以前难了好吗!字符串二维数组感觉也没教什么呀。。所以我也做了蛮久,现依次把这几道题放在这里留作纪念。

题目1:请写一个程序,对于一个m行m列(2<m<20)的方阵,求其每一行、每一列及主、辅对角线元素之和(注:主对角线是方阵从左上角到右下角的一条斜线,辅对角线是方阵从右上角到左下角的一条斜线),然后按照从大到小的顺序依次输出这些值。

这道题还是挺简单的,主要就是要另外创一个数组依次储存所求的和然后再排序,而我所想到的从大到小的排序便是之前所学的冒泡排序法,其实选择排序法也未尝不可。

代码如下:

#include

#include//头文件中含下方用到的memset函数

int main()

{

int a[20][20],sum[20];

int i,j,m,temp;

memset(sum,sizeof(sum)); //这是我在别的书学到的将数组清零的办法。

scanf("%d",&m); //输入方阵大小

for(i = 0;i < m;i++)

{

for(j = 0;j < m;j++)

scanf("%d",&a[i][j]); //注意是a[i][j] 有时候矩阵我就犯傻写成a[m][n]之类了

}

for(i = 0;i < m;i++) //这个for循环是求出各行之和并依次存入sum数组中

{

for(j = 0;j < m;j++)

sum[i] += a[i][j];

}

for(i = 0;i < m;i++) //这个for循环是求出各列之和

{

for(j = 0;j < m;j++)

sum[i+m] +=a[j][i]; //注意是sum[i+m],因为上面求行的和有m行。

}

for(i = 0;i < m;i++) //求正对角线

sum[2*m] += a[i][i];

for(i = 0;i < m;i++) //求辅对角线

sum[2*m+1] += a[i][m-1-i]; //m-1-i 是找规律所得

for(i = 0;i < 2*m+1;i++) //冒泡排序法 从大到小排列

{

for(j = 0;j < 2*m+1- i;j++)

{

if(sum[j] < sum[j+1])

{

temp = sum[j];

sum[j] = sum[j+1];

sum[j+1] = temp;

}

}

}

for(i = 0;i < 2*m+2;i++) //打印所得

printf("%d ",sum[i]);

printf("n");

return 0;

}

这是上机的第一题,二维数组类的题。

欢迎交流探讨。

谢谢。

总结

以上是编程之家为你收集整理的二维数组—矩阵求和(C语言)全部内容,希望文章能够帮你解决二维数组—矩阵求和(C语言)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

C语言用数组编程矩阵,二维数组—矩阵求和(C语言)相关推荐

  1. (c语言)编程输出二维数组中元素的最大值,要求用指针实现。

    (c语言)编程输出二维数组中元素的最大值,要求用指针实现. #include<stdio.h> #include<stdlib.h> #define N 6 //行数 #def ...

  2. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  3. c语言一维数组转化为二维矩阵,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  4. C语言课程训练系统题-二维数组cqupt

    C语言课程训练系统题-二维数组cqupt 1.杨辉三角 2.输出每列最小值 3.一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数.设计求3~6位自方幂数 4.有如下3*4的矩阵,求出 ...

  5. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  6. 编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。

    编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推.     例如,原始二维数组为,逆向存放后变为.试建立一个类 ...

  7. 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

    文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...

  8. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  9. matlab建成二维数组,matlab绘制二维数组

    hist 累计图 rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 feather 羽毛图 compass 罗盘图 quiver 向量场图 Matlab 如何画出一个二 ...

  10. oracle 一维数转二维数组,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

最新文章

  1. Navicat 提示 Access violation at address ***(771B7870) in module ‘ntdll.dll’. Read of address ***(220A
  2. 分享几个有意思的视频
  3. easyExcel 使用指南详解
  4. 大数据分析实战-信用卡欺诈检测(五)-逻辑回归模型
  5. ef设置非自增长id_今日学习必备:分布式系统全局唯一ID你懂吗?
  6. redis 客户端_你在使用什么 Redis 客户端工具?
  7. C++预处理命令之文件包含和条件编译
  8. 一个html文件创造多个页面,使页眉和页脚文件包含在多个html页面中。
  9. SpringMVC实现list表单(六)
  10. 浅谈javascript面向对象编程
  11. 手把手教你制作网页导航栏
  12. 分子力学无法模拟化学键的断裂的原因
  13. 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题...
  14. c语言编写程序p1207.c,《C语言程序设计》(卷)考核班级
  15. 如何在物联网平台创建一个千里传音产品?
  16. KOG注释[Ubuntu 15.10系统]
  17. Apache 防止恶意解析
  18. 南昌大学计算机考研2021,2021南昌大学考研参考书目
  19. 记时,耗时,Stopwatch
  20. FL Studio2020最新中文直装版水果软件

热门文章

  1. iPhone 定位记录「重要地点」有多危险?用这招秒查另一半行踪
  2. H5手机端ios的缓存
  3. 干货!CDN内容分发网络实战技巧
  4. oracle比较两个时间
  5. iOS MultipeerConnectivity
  6. spring源码解析,vip视频解析源码
  7. python求平均工资_python实现求和,求平均值——函数
  8. 51nod1503 猪和回文
  9. 设计模式3-软件设计原则
  10. 数据分析进阶必看干货!销售额下滑详细分析案例