当前位置: 首页 > 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;
}

运行截图:

http://www.lryc.cn/news/214717.html

相关文章:

  • 我在Vscode学OpenCV 处理图像
  • 【python】路径管理+路径拼接问题
  • C现代方法(第16章)笔记——结构、联合和枚举
  • Python项目——识别指定物品
  • Spring-创建非懒加载的单例Bean源码
  • Techlink TL24G06 网络变压器 10G 基座单端口变压器
  • Python操作PDF:PDF文件合并与PDF页面重排
  • 删除链表的倒数第n个节点(C++解法)
  • Apache服务的搭建与配置(超详细版)
  • 设计模式大赏(一):桥接模式,组合模式
  • 数据通信——应用层(DHCP的原理与配置)
  • 力扣151.反转字符串中的单词
  • vim三种模式,文本操作(操作字符/光标,列出行号可视化块模式/多文件查看)
  • jquery控制easyui中combobox、textbox显示隐藏
  • Android拖放startDragAndDrop拖拽onDrawShadow静态添加xml布局View,Kotlin(4)
  • Servlet 初始化参数(web.xml和@WebServlet)
  • shell_62.shell脚本生成一个标准的 SQL INSERT 语句
  • 华为ICT——第五章语音处理理论与实践
  • ardupilot开发 --- SLAM 篇
  • Elasticsearch:在你的数据上训练大型语言模型 (LLM)
  • 拓展卡尔曼滤波EKF
  • 第四章 应用SysML基本特性集的汽车示例 P2(断更)|系统建模语言SysML实用指南学习
  • Vue入门——核心知识点
  • 使用opencv的tracking模块跟踪目标
  • Debian或Ubuntu静态交叉编译arm和aarch64
  • 最新ai系统ChatGPT程序源码+详细搭建教程+以图生图+Dall-E2绘画+支持GPT4+Midjourney绘画
  • 【设计模式】第16节:行为型模式之“命令模式”
  • 安装pytorch报错torch.cuda.is_available()=false的解决方法
  • 自定义表格的表头根据后端的数据进行筛选是否进行自定义表头添加按钮
  • 海上风电应急救援vr模拟安全培训提高企业风险防范能力