PTA-练习5

目录

实验7-2-1 求矩阵各行元素之和

实验7-2-2 矩阵运算

实验7-2-3 求矩阵的局部极大值

实验7-2-5 判断上三角矩阵 

实验7-2-6 打印杨辉三角

实验7-2-7 方阵循环右移

实验7-2-8 找鞍点


实验7-2-1 求矩阵各行元素之和

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int m,n;
    scanf("%d %d",&m,&n);
    for(int i=0;i<m;i++){
        int a;
        int sum=0;//每行的和
        for(int j=0;j<n;j++){
            scanf("%d",&a);
            sum=sum+a;
        }
        printf("%d\n",sum);
    }

    return 0;
}


实验7-2-2 矩阵运算

//遍历每个元素,i代表行,j代表列,
//如果i+j==n-1||i==n-1||j==n-1就不加这些元素
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int n;
    scanf("%d",&n);
    int a=0,sum=0;
    
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a);
            if(i+j!=n-1&&i!=n-1&&j!=n-1){
                sum=sum+a;
            }
        }
    }
    printf("%d",sum);
    return 0;
}

实验7-2-3 求矩阵的局部极大值


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int m,n;
    scanf("%d %d",&m,&n);
    int a[m][n];
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }

    int flag=0;
    for(int i=1;i<m-1;i++){
        for(int j=1;j<n-1;j++){
            if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]){
                printf("%d %d %d\n",a[i][j],i+1,j+1);
                flag=1;
            }
        }
    }
    if(flag==0){
        printf("None %d %d",m,n);
    }
    return 0;
}

 

#include<stdio.h>
 
int main(){
	
	int i,j,k;
	for( i=0;i<10;i++){
		for( j=0;j<20;j++){
			for( k=0;k<30;k++){
				if(i==2&&j==5&&k==10){
					
					goto out;//去往标识符
				}
			}
			
		}
			
	}
	out://(标识符)
	printf("%d,%d,%d",i,j,k);
	
}


实验7-2-5 判断上三角矩阵 

 

//下半区全都是0,a[i][j]==0,当i>j


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int x;
    scanf("%d",&x);

    for(int k=0;k<x;k++){//输入的x个矩阵
        int n;
        scanf("%d",&n);
        int a[n][n];
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                scanf("%d",&a[i][j]);
            }
        }//输入矩阵
        
        int flag=1;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i>j&&a[i][j]!=0){
                    printf("NO\n");
                    flag=0;
                    goto haha;
                }
            }
        }//判断矩阵是不是上三角
        haha:
        if(flag==1){
            printf("YES\n");
        }
    }

    return 0;
}

实验7-2-6 打印杨辉三角

这题好难,遇见这种要找空格规律的最麻烦了。

杨辉三角的特点:

  1. 下三角矩阵
  2. 第一列和主队角线元素为1
  3. 其他元素=上面的元素+左上角的元素

 

随后的每一行,开头和最后的数字都是1,其他的每个数都是它左上方和右上方的数之和,就是说除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与上方两个数字之和。 


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int N;
    scanf("%d",&N);

    /*if(N==1){
        printf("   1");
    }
    if(N==2){
        printf("    1\n");
        printf("   1   1\n");
    }
*///先得4分再说

	int a[N][N];
	int i, j;
	
	for( i = 0; i < N; i++ ){
		for( j = 0; j < N; j++ ){
			if( j == 0 || j == i ){
				a[i][j] = 1;
			}	
		}
	}
	
	for( i = 2; i < N; i++ ){
		for( j = 1; j < i; j++ ){
			a[i][j] = a[i-1][j-1] + a[i-1][j];
		}
	}

	for( i = 0; i < N; i++ ){//每行先打印N-i-1个空格
		for(int k=0;k<N-i-1;k++){
            printf(" ");
        }
        //输出矩阵的下三角
		for( j = 0; j <= i; j++ ){
			printf( "%4d", a[i][j] );//每个数字固定4位
		}//不能写"   %d",因为后面的数字有可能两位,三位。
		printf("\n");
	}

    return 0;
}

 实验7-2-7 方阵循环右移

 

//移动每行的元素,j列数变成(j+2)%(n)


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int m,n;
    scanf("%d %d",&m,&n);
    int a[n][n];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    int b[n][n];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            b[i][(j+m)%(n)]=a[i][j];
        }
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            printf("%d ",b[i][j]);
        }
        if(i<n-1){
            printf("\n");
        }
        
    }

    
    return 0;
}

实验7-2-8 找鞍点

//遍历每行,再遍历最大值所在的列看看是不是最小的

//移动每行的元素,j列数变成(j+2)%(n)


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int main(){

    int n;
    scanf("%d",&n);
    int a[n][n];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    int flag;
    int i;
    int lie=0;
    for(i=0;i<n;i++){
        int max=a[i][0];
        
        for(int j=0;j<n;j++){
            if(a[i][j]>=max){
                max=a[i][j];
                lie=j;
            }
        }//每一行
        flag=1;
        for(int k=0;k<n;k++){//遍历最大值所在的列
            if(a[k][lie]<max){
                flag=0;
                break;
            }
        }
        if(flag==1){
            break;
        }
    }
    if(flag){
        printf("%d %d",i,lie);
    }else{
        printf("NONE");
    }
//循环里面的变量只是暂时的
    return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/475620.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python毕业设计基于flask应急救援调度系统django

此系统设计主要采用的是python语言来进行开发&#xff0c;采用flask框架技术&#xff0c;框架分为三层&#xff0c;分别是控制层Controller&#xff0c;业务处理层Service&#xff0c;持久层dao&#xff0c;能够采用多层次管理开发&#xff0c;对于各个模块设计制作有一定的安全…

mysql数据库迁移注意事项

mysql 数据库迁移注意事项 1 数据库版本一致 SELECT version 2 数据库设置的默认字符一致 [mysqld] character-set-serverutf8mb4 SHOW VARIABLES LIKE %char%; 3 确保数据库设置的时区一致 my.cnf配置文件&#xff1a; [mysqld] DEFAULT-TIME-zone08:00 SHOW VARIABLES…

CSAPP | Lab1-Data Lab 详细解析

You may assume that your machine:1. Uses 2s complement, 32-bit representations of integers.2. Performs right shifts arithmetically.3. Has unpredictable behavior when shifting if the shift amountis less than 0 or greater than 31.Part1&#xff1a;整数 1.Bit…

python语言介绍

一、python基础语法 1、字面量 在代码中&#xff0c;被写下来的固定的值&#xff08;数据&#xff09;&#xff0c;叫做字面量 "abcd" 1 3.6 字面量类型 2、基础python语句 首先&#xff0c;python语句不需要以分号结尾&#xff0c;而是以每一行作为区分&#x…

Springboot整合Mybatis的详细案例+图解+分析(一)

后台访问流程 请求&#xff1a;用户从页面前端&#xff0c;也就是我们所说的view层进行查询访问&#xff0c;进入到controller层找到对应的接口&#xff0c;接着controller层进行对service层进行业务功能的调用&#xff0c;service要进入dao(mapper)层&#xff0c;dao层调用map…

【C++庖丁解牛】stack的介绍和使用 | queue的介绍和使用 | priority_queue的介绍和使用

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1. stack的介绍和使用1.1…

面试算法-68-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视…

【QT入门】 Qt槽函数五种常用写法介绍

声明&#xff1a;该专栏为本人学习Qt知识点时候的笔记汇总&#xff0c;希望能给初学的朋友们一点帮助(加油&#xff01;) 往期回顾&#xff1a; 【QT入门】实现一个简单的图片查看软件-CSDN博客 【QT入门】图片查看软件(优化)-CSDN博客 【QT入门】 lambda表达式(函数)详解-CSDN…

一篇文章教会你如何用 Axure 画原型图

原型图对于做出更好的 UI 设计决策非常重要。然而&#xff0c;选择合适的原型工具并不容易。我们需要仔细考虑成本、功能、与其他设计工具的集成、学习曲线、协作功能和用户测试方法&#xff0c;本文将分析 Axure 的原型设计工具。 1、为何使用 Axure 绘制原型图&#xff1f; …

绝了!这个国标证书的含金量怎么又提高了?!

在项目管理领域&#xff0c;很多人只知道PMP证书&#xff0c;但却不知CSPM认证体系同样正在逐步深入该领域&#xff0c;其价值和影响力让人难以忽视。 一、“CSPM”正式成为注册商标 上周&#xff0c;项目管理标准化官方发布推文&#xff0c;祝贺"CSPM"正式成为项目…

MQTT和Modbus的物联网网关协议区别分析

MQTT和Modbus的物联网网关协议区别分析 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;与Modbus是两种广泛应用在物联网环境中的通信协议&#xff0c;它们各自具有独特的优势和适用场景&#xff0c;下面将从多个维度对这两种网关协议进行详细区别分析。 首…

【MySQL】DDL的表操作详解:创建&查询&修改&删除(记得3点加上连接)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

如何使用Net2FTP+cpolar搭建专属文件共享站点并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一&#xff0c;特别是智能设备的大面积使用&#xff0c;无论是个人…

MySQL 索引的10 个核心要点

文章目录 &#x1f349;1. 索引底层采用什么数据结构&#xff1f;为什么不用hash&#x1f349;2. B树与B树区别&#xff1f;为何用B树&#xff1f;&#x1f349;3. 自增主键理解&#xff1f;&#x1f349;4. 为什么自增主键不连续&#x1f349;5. Innodb为什么推荐用自增ID&…

Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志

前言&#xff1a; 在上篇中我们已经成功的部署了Nebula Graph 服务:Nebula Graph-01-Nebula Graph简介和安装以及客户端连接&#xff0c; 现在我们来谈一下Nebula Graph 的各项配置 NebulaGraph高阶配置 文件 在上篇文章中&#xff0c;我们成功的启动了NebulaGraph 服务&am…

【C++】1311. 分跳绳

问题&#xff1a;1311. 分跳绳 类型&#xff1a;基本运算、整数运算 题目描述&#xff1a; 学校新买来 m 根跳绳&#xff0c;每个班分 n 根&#xff0c;最多可以分给几个班的同学&#xff0c;还剩多少根&#xff1f;&#xff08;m≥n&#xff09;。 输入&#xff1a; 两个整…

camunda流程引擎事务管理和乐观锁

本文重点介绍camunda开源流程引擎的事务配置&#xff0c;以及在高并发多线程情况下&#xff0c;可能会发生多个线程尝试对相同流程实例数据进行更改的情况&#xff0c;Camunda如何通过数据库的乐观锁解决这种并发冲突的&#xff0c;并介绍了乐观锁和悲观锁的适用场景、性能影响…

【C语言】数9的个数

编写程序数一下 1到 100 的所有整数中出现多少个数字9 1&#xff0c;首先产生1~100的数字。然猴设法得到数9个数&#xff0c;例如个位&#xff1a;19%109&#xff0c;十位&#xff1a;91/109。 2&#xff0c;每次得到数九的时候&#xff0c;就用一个变量来进行计数。 代码如…

【项目笔记】java微服务:黑马头条(day04)

文章目录 自媒体文章-自动审核1)自媒体文章自动审核流程2)内容安全第三方接口2.1)概述2.2)准备工作2.3)文本内容审核接口2.4)图片审核接口2.5)项目集成 3)app端文章保存接口3.1)表结构说明3.2)分布式id3.3)思路分析3.4)feign接口 4)自媒体文章自动审核功能实现4.1)表结构说明4.…

搭建ELK+minio及配置

什么是ELK ELK是一种基于开源工具的日志管理和数据分析解决方案&#xff0c;它由三个核心组件组成&#xff1a; Elasticsearch&#xff1a;用于存储、搜索和分析大规模数据的分布式搜索引擎。Logstash&#xff1a;用于收集、过滤、转换和发送日志数据的数据处理管道。Kibana&…