当前位置: 首页 > news >正文

C语言实现 1.在一个二维数组中形成 n 阶矩阵,2.去掉靠边元素,生成新的 n-2 阶矩阵;3.求矩阵主对角线下元素之和:4.以方阵形式输出数组。

矩阵形式:

1 1 1 1 1

2 1 1 1 1

3 2 1 1 1

4 3 2 1 1

5 4 3 2 1

完整代码:

/*编写以下函数
1.在一个二维数组中形成如以下形式的 n 阶矩阵:
1 1 1 1 1 
2 1 1 1 1 
3 2 1 1 1 
4 3 2 1 1 
5 4 3 2 1
2.去掉靠边元素,生成新的 n-2 阶矩阵;
3.求矩阵主对角线下元素之和:
4.以方阵形式输出数组
*/#include<stdio.h>
#include<stdlib.h>//全局变量,所有函数都可以访问到
int **arr;//创建n阶矩阵
void func1(int n){// 要使用malloc函数动态分配内存arr = (int **)malloc(n * sizeof(int *));for(int i = 0; i < n; i++){arr[i] = (int *)malloc(n * sizeof(int));}// 创建数组for (int i = 0; i < n; i++){//先把所有的元素都赋值为1for (int k = 0; k < n; k++){arr[i][k]=1;}//让后按照三角形的规律赋值for (int j = 0; j < i; j++){arr[i][j]=i+1-j;}}
}//创建n-2阶矩阵
void func2(int n){//只需要调用n-2时的func1就可以func1(n-2);
}//求矩阵主对角线下元素之和
int func3(int n){int sum=0;//循环累加对角线下的所有元素,只需要j<i就可以for (int i = 0; i < n; i++){ for (int j = 0; j < i; j++){sum+=arr[i][j];}}return sum;
}//以方阵形式输出数组
void func4(int n){// 打印矩阵printf("该矩阵为:\n");for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){printf("%d ", arr[i][j]);}printf("\n");}
}int main(){int n=0;printf("请输入矩阵的行数:");scanf("%d",&n);//创建n阶矩阵func1(n);// 打印矩阵func4(n);printf("该矩阵主对角线下元素之和为:%d\n",func3(n));//生成新的矩阵func2(n);//打印新的矩阵func4(n-2);printf("该矩阵主对角线下元素之和为:%d\n",func3(n-2));return 0;
}

运行截图:

相关文章:

  • Linux编辑器-vim使用
  • Cross Site Scripting (XSS)
  • MongoDB——MongoDB删除系统自带的local数据库
  • 淘宝协议最新版
  • GZ035 5G组网与运维赛题第7套
  • ssh登录界面变成vim提示,进不去系统
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)
  • 线程池--简单版本和复杂版本
  • 【网络协议】聊聊TCP如何做到可靠传输的
  • 【UE】从UI中拖拽生成物体
  • YOLOv5独家首发改进新主干:改进版目标检测新范式骨干PPHGNetv2,百度PaddlePaddle出品,有效提升YOLOv5检测器检测精度
  • echarts的图表立体感——实现立体柱状图和立体饼图的详细教程
  • 利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码
  • C/C++ 实现UDP发送或接收组播消息,并可指定接收发送网卡
  • ant Java任务的jvmargs属性和<jvmarg>内嵌元素
  • 【Leetcode】101. 对称二叉树
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • ➹使用webpack配置多页面应用(MPA)
  • 07.Android之多媒体问题
  • Android Volley源码解析
  • es6--symbol
  • JAVA 学习IO流
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Promise初体验
  • Redash本地开发环境搭建
  • Spring Boot快速入门(一):Hello Spring Boot
  • SpringBoot 实战 (三) | 配置文件详解
  • Webpack 4x 之路 ( 四 )
  • 分享几个不错的工具
  • 关于Flux,Vuex,Redux的思考
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 力扣(LeetCode)56
  • 入门到放弃node系列之Hello Word篇
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信小程序设置上一页数据
  • 一个项目push到多个远程Git仓库
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 优秀架构师必须掌握的架构思维
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • #1014 : Trie树
  • #DBA杂记1
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (第一天)包装对象、作用域、创建对象
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (轉)JSON.stringify 语法实例讲解
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 材料检测系统崩溃分析
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET与 java通用的3DES加密解密方法
  • :如何用SQL脚本保存存储过程返回的结果集
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题