C语言二维数组中:主次对角线求和,上下三角求和,杨辉三角,矩阵转置
p8
有些的结论需要直接记住
目录
矩阵转置
主对角线和次对角线
下三角 和上三角(一般是让求和)
下三角
上三角
杨辉三角
矩阵转置
不是方阵 需要用到第二个二维数组
b[i][j]=a[i][j]
是方阵 方法1 借助第二个二维数组,同上
方法2 下三角换即可(是方阵的话一般题目都是让你用第二个方法)
void main() {int i, j,temp, arr[4][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16} };for (i = 0; i < 4; i++) {for (j = 0; j < 4; j++) {printf("%4d", arr[i][j]);}printf("\n");}//开始转置for (i = 0; i < 4; i++) {for (j = 0; j <= i; j++) {temp = arr[i][j];arr[i][j] = arr[j][i];arr[j][i] = temp;}}//转置后for (i = 0; i < 4; i++) {for (j = 0; j < 4; j++) {printf("%4d", arr[i][j]);}printf("\n");}
}
主对角线和次对角线
主对角线: i==j
次对角线 : i+j==数组维度-1
void main() {int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} }, sum1 = 0,sum2=0;for (i = 0; i < 3; i++) {for (j = 0; j < 3; j++) {if (i == j) sum1 += arr[i][j];//主对角线和if (i + j == 2) sum2 += arr[i][j];//次对角线和}}printf("%4d%4d", sum1, sum2);
}
下三角 和上三角(一般是让求和)
下三角
void main() {//下三角int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };for (i = 0; i < 3; i++) {for (j = 0; j <= i; j++)printf("%4d", arr[i][j]);printf("\n");}
}
上三角
void main() {//上三角int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };for (i = 0; i < 3; i++) {for (j = 2-i; j >= 0; j--)printf("%4d", arr[i][j]);printf("\n");}
}
40
杨辉三角
第0列和主对角线都是1 , 其余的元素是上一行本列的元素 + 上一行,列-1的元素
列如:打印杨辉三角形(要求打印出10行)
void main() {int arr[10][10] = {0}, i, j;for (i = 0; i < 10; i++) {arr[i][0] = 1;//第一列全部为1arr[i][i] = 1;//主对角线}for (i = 2; i < 10; i++) {for (j = 1; j < i; j++) {arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];}}for (i = 0; i < 10; i++) {for (j = 0; j <=i; j++) {printf("%d\t", arr[i][j]);}printf("\n");}
}
C语言二维数组中:主次对角线求和,上下三角求和,杨辉三角,矩阵转置相关推荐
- c语言统计二维数组中数字出现次数,C语言二维数组中的查找的实例
C语言二维数组中的查找的实例 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- 交换二维数组元素c语言,二维数组中元素替换问题!
二维数组中元素替换问题! 题目:对某个二维数组右上三角的全部元素(不包括对角线上的元素)做如下变换: (1)若该数是偶数,则找到左下三角中和它关于对角线对称的元素用这两个元素的最大公约数替换该数 (2 ...
- c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵
//二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...
- C语言二维数组中的指针问题
#include "stdio.h" void main() {int a[5][5];int i,j;for (i=0;i<5;i++){for (j=0;j<5;j ...
- c语言二维数组a中,a,a[0],a[0][0]的值与值的类型
c语言二维数组中的一些表达式的值与意义的问题 前两天写代码的时候遇到一些关于数组的问题,进而对二维数组进行了一些深入的思考.想到了一个有意思的问题. 在二维数组a中,&a,&a[0], ...
- [黑马IOS自学第五篇]C语言二维数组,排序法学习
一.补充关键字char,short关键字 /* 1.改变整型变量占用的存储空间 int short long long long 改变一个数的符号 signed unsigned */ <spa ...
- c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...
c语言编写程序,把下面的数据输入到一个二维数组中: 答案:3 信息版本:手机版 解决时间 2019-10-07 01:08 已解决 2019-10-06 03:19 1. 编写程序,把下面的数据输入 ...
- c语言二维数组对角线输出字符,输出二维数组对角线上的数 c语言 二维数组 对角线相加...
1.编写程序,把下面的数据输入到一个二维数组中: 25 36 78 13 12 26 8我自己编的,用VISUAL C++6.0 测试过了 #include"stdio.h" vo ...
- C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中
C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中 #include <stdio.h> int main(){int a[2][3]={{1,2,3},{4,5,6}}; // ...
最新文章
- NetCore学习实践1__项目创建和配置文件的获取
- mysql如何算值_如何计算MySQL中具有特定值的列数?
- mindspore学习之使用obsutil工具向桶中上传数据
- android jni 字符串拼接,JNI 字符串拼接方法
- 《微服务架构设计模式》总结,文末送书
- 在opencv3中实现机器学习之:利用svm(支持向量机)分类
- 安卓渗透测试工具——Drozer(安装和使用)
- bzoj 3781: 小B的询问(莫队)
- c语言编程创意表白,C语言和图形界面编程打造——浪漫的表白程序
- VLAN 虚拟局域网 搭建
- 安全加密 - DEP, ASLR
- omnipeek无线抓包工具 Dlink 160驱动
- 桌面计算机图标无法附到任务栏,win7系统电脑快捷方式无法添加到任务栏的解决方法...
- 薛之谦丨当初不以他盛名而来,如今也不会因为诋毁而离开
- 怎么把PDF翻译成中文
- 记参加哈工大SCIR(赛尔)实验室笔试
- rsync:基本命令和用法
- python 表格查询,Python实现数据表查找
- 千里之行始于足下,Python编写进度条
- 微信支付-通知验签始终不通过的问题
热门文章
- 修改checkbox样式
- 一键部署FISCO BCOS全家桶开发者环境
- JavaScript 校验:JSLint、JSHint、JSCS、ESLint
- 用html标签编写古诗,怎么用html/css写一首古诗
- android 语音播报中文,android 语音播报(通过手说tts 实现中文语音播报)
- 50多岁学python_学习 Python 看这一篇就够了!
- linux mint 17 输入法,linux mint17.2 安装fcitx输入法
- wampserver时区设置
- 勇士挂机 鸿蒙,勇士挂机战士攻略
- 洋节VS传统佳节 消费者:过中国人自己的节日 才真“潮”!