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

news2024/11/27 15:28:11

矩阵形式:

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++){
        //先把所有的元素都赋值为1
        for (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.coloradmin.cn/o/1160527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

选择绿色壁炉:环保温暖你的家

壁炉的绿色选择是我们现代生活中越来越重要的话题。不仅为了保暖&#xff0c;还要考虑对环境的影响。在选择壁炉时&#xff0c;有一些绿色、环保的选项可以考虑&#xff0c;而且它们也能提供温馨的家居氛围。 嵌入式酒精壁炉&#xff1a;生物乙醇是一种环保的燃料&#xff0c;它…

什么是自动化测试框架?常用的自动化测试框架有哪些?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

【C++】 常对象与常函数

常函数&#xff1a; 成员函数后加const后我们称为这个函数为常函数常函数内不可以修改成员属性成员属性声明时加关键字mutable后&#xff0c;在常函数中依然可以修改 常对象&#xff1a; 声明对象前加const称该对象为常对象常对象只能调用常函数 一、this指针本质 this指针…

Vscode使用国内镜像源下载,秒下

镜像源 国内镜像地址&#xff1a;https://vscode.cdn.azure.cn 使用方法&#xff1a;很简单&#xff0c;只需要在官网选择自己需要的版本&#xff0c;点击下载&#xff0c;在下载的路径中将我们的镜像源替换上去即可 1.81.1版本下载链接 https://vscode.cdn.azure.cn/stable/…

【SpringMVC篇】5种类型参数传递json数据传参

&#x1f38a;专栏【SpringMVC】 &#x1f354;喜欢的诗句&#xff1a;天行健&#xff0c;君子以自强不息。 &#x1f386;音乐分享【如愿】 &#x1f384;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f33a;普通参数&#x1f33a;POJO参数&#x1f33a;嵌套…

Elemen table布局错乱解决方案

示例 解决方案 方案一 <el-table ref"mainTable"></el-table>、、、// 接口请求触发重新布局方法this.$nextTick(() > {this.$refs.mainTable.doLayout();});方案二 <el-tablestyle"width: 100%;max-height:400px;overflow-y: auto;"&g…

麒麟操作系统安装oracle 19c报错问题汇总

麒麟操作系统版本: [roothis-dsg lib64]# uname -a Linux his-dsg 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux 安装之前,建议先配置好ORACLE的环境变量,再执行一下bash_profile环境变量 1.xstart无法打开报错x11拒…

使用ant design pro出现面包屑导航和标题消失的问题

前端时间&#xff0c;我用ant design pro搭建了一个后台权限管理的项目模板&#xff0c;里面用到了PageContainer组件&#xff0c;默认会显示面包屑导航和标题&#xff0c;如图所示 后来&#xff0c;我把这个项目模板用于另外一个项目的前端页面&#xff0c;把整个项目的文件夹…

【java】命令行,包

文件夹情况&#xff1a; HelloWorld.java package com.demo; public class HelloWorld{public static void print(){System.out.println("HelloWorld!");}public static void main(String[] args){print();} } import.java import com.demo.HelloWorld; public cla…

Selenium三种等待方式的使用!

UI自动化测试&#xff0c;大多都是通过定位页面元素来模拟实际的生产场景操作。但在编写自动化测试脚本中&#xff0c;经常出现元素定位不到的情况&#xff0c;究其原因&#xff0c;无非两种情况&#xff1a;1、有frame&#xff1b;2、没有设置等待。 因为代码运行速度和浏览器…

【Linux】常见的Linux命令

目录 一、与目录有关的操作 二、与文件有关的操作 三、针对目录的操作 三、在linux上搭建环境 一、与目录有关的操作 1.ls 显示目录内容列表 ls / 这里的 / 表示根目录&#xff0c;相当于windows中的此电脑&#xff0c;linux中没有盘符。 ls -l / 显示详细信息 可以…

【EI会议征稿】第四届生物信息学与智能计算国际学术研讨会(BIC 2024)

第四届生物信息学与智能计算国际学术研讨会&#xff08;BIC 2024&#xff09; 2024 4th International Conference on Bioinformatics and Intelligent Computing 2024年第四届生物信息学与智能计算国际学术研讨会 &#xff08;BIC 2024&#xff09;将定于2024年1月26-28日在…

SOLIDWORKS® 2024 新功能 - PDM

SOLIDWORKS 2024 新功能 - PDM 1、改进的视觉内容 • 通过装配体可视化功能&#xff0c;在 SOLIDWORKS 中以图形方式查看零部件数据&#xff0c;如工作流程状态。 • 使用特定图标迅速识别焊件切割清单零部件。 优点 重要数据和系统信息一目了然。 2、增强的数据保护和跟踪功…

Controllable Guide-Space for Generalizable Face Forgery Detection

一、研究背景 以往工作专注于提取伪造特征的共同特性和真假域鉴别性信息&#xff0c;以提升特征泛化性。 但在训练过程中&#xff0c;这些方法只区分真假域&#xff0c;并将不同的伪造域看作一类而不加以区分。 这会导致伪造样本进一步以伪造不相关特征&#xff08;如&#xff…

在ros中 两个摄像头

欧最后有了一个需求&#xff0c;需要在ros中接两摄像头&#xff0c;完成后写一下步骤。 以下是我的设备&#xff0c; 通过一个3.0的转接头来连接两个摄像头&#xff0c; 首先&#xff0c;通过下面的命令 ls /dev/video* //插上摄像头后打开终端查看是否检测到摄像头 我这…

职业规划:如何成为年薪80W+的Salesforce项目经理?

Salesforce项目经理负责监督各种Salesforce云和端到端Salesforce项目&#xff0c;首要任务是确保项目成功&#xff0c;并在预算范围内按时交付。Salesforce项目经理的薪资是不断增长的Salesforce经济中的热门话题。 Salesforce项目经理的职责 项目经理的职业发展更多地关注经验…

三国杀中的概率学问题2——神郭嘉

前言 四年前&#xff0c;我写过一篇博客三国杀中的概率学问题。当时有一条评论&#xff0c;让我算一算神郭嘉慧识的摸牌数。这也是我写这篇博客的动力来源。相比起四年前&#xff0c;我的数学水平渐长&#xff0c;于是想做一些更深入的数学问题。这篇文章将从更加理论的角度来…

JMeter的使用——傻瓜式学习【下】

目录 前言 1、自动录制脚本 1.1、原理 1.2、JMeter脚本录制 2、JMeter直连数据库 2.1、直连数据库的作用 2.2、JMeter直连数据库的步骤 案例&#xff1a; 3、JMeter的逻辑控制器 3.1、if控制器 案例&#xff1a; 3.2、循环控制器 案例&#xff1a; 3.3、ForEach控…

答题小程序好友PK答题模块来袭,快来一决高下!

答题小程序源码之好友pk答题怎么做 各位亲爱的答题小程序小伙伴&#xff0c;大家好&#xff01;今天我们来一起看一下答题小程序的好友PK答题怎么做&#xff0c;好友PK顾名思义即邀请微信好友进行一对一的PK答题&#xff0c;该模式的特点是有针对性的PK答题&#xff0c;比如我要…

Kafka、RabbitMQ、RocketMQ中间件的对比

消息中间件现在有不少&#xff0c;网上很多文章都对其做过对比&#xff0c;在这我对其做进一步总结与整理。 RocketMQ 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件&#xff0c;使用Mysql作为消息存储媒介&#xff0c;可完全水平扩容&#xff0c;为了进一步降低成…