牛客网刷题 ——C语言初阶(6指针)——BC106 上三角矩阵判定

embedded/2025/1/12 19:43:42/

1. 题目描述——BC106 上三角矩阵判定

牛客网OJ题链接

描述
KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
在这里插入图片描述
示例
输入:
3
1 2 3
0 4 5
0 0 6
输出:YES

2. 思路

在这里插入图片描述

3. 代码实现

#include<stdio.h>
int main()
{int n = 0;scanf("%d", &n);int i = 0,j = 0;int arr[10][10] = { 0 };for (i = 0; i < n; i++){for (j = 0; j < n; j++){scanf("%d", &arr[i][j]);}}int k = 0;int t = 0;int flag = 1;for (k = 0; k < n; k++){for (t = 0; t < k; t++){if (arr[k][t] != 0){flag = 0;}}}if (flag == 1){printf("YES\n");}else{printf("NO\n");}return 0;

在这里插入图片描述

4. 代码实现2

这个加入了goto 语句,因为如果我们已经判断不等于0,就不需要判断剩余的了

#include<stdio.h>
int main() {int n = 0;scanf("%d", &n);int i = 0, j = 0;int arr[10][10] = { 0 };for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {scanf("%d", &arr[i][j]);}}int k = 0;int t = 0;int flag = 1;for (k = 0; k < n; k++) {for (t = 0; t < k; t++) {if (arr[k][t] != 0) {flag = 0;goto end;}}}
end:if (flag == 1) {printf("YES\n");} else {printf("NO\n");}return 0;
}

5.代码实现3

我们也可以不使用goto,当判断我们有值不等于0的时候,直接打印NO,然后return。

#include<stdio.h>
int main() {int n = 0;scanf("%d", &n);int i = 0, j = 0;int arr[10][10] = { 0 };for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {scanf("%d", &arr[i][j]);}}int k = 0;int t = 0;for (k = 0; k < n; k++) {for (t = 0; t < k; t++) {if (arr[k][t] != 0) {printf("NO\n");return 0;}}}printf("YES\n");return 0;
}

6. 代码实现4,其实并不需要再创建两个循环变量,都使用i和j是没问题的,因为我们会给i,j重新赋值为0

#include<stdio.h>
int main() {int n = 0;scanf("%d", &n);int i = 0, j = 0;int arr[10][10] = { 0 };for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {scanf("%d", &arr[i][j]);}}for (i = 0; i < n; i++) {for (j = 0; j < i; j++) {if (arr[i][j] != 0) {printf("NO\n");return 0;}}}printf("YES\n");return 0;
}

http://www.ppmy.cn/embedded/153368.html

相关文章

Linux 内核中的 netif_start_queue 函数:启动网络接口发送队列的关键

在 Linux 内核的网络子系统中,netif_start_queue 函数扮演着至关重要的角色。这个函数的主要功能是启动(或启用)网络接口的发送队列,标志着网络接口已经准备好开始发送数据包。本文将深入探讨 netif_start_queue 函数的用途、工作原理以及在实际网络驱动代码中的应用。 函…

使用 Python 的 pyttsx3 库进行文本转语音

1. 什么是 pyttsx3&#xff1f; 1.1 pyttsx3 是一个 Python 库&#xff0c;它可以将文本转换为语音。与其他文本转语音库&#xff08;如 gTTS&#xff09;不同&#xff0c;pyttsx3 不依赖于网络服务&#xff0c;它使用本地的 TTS&#xff08;Text-to-Speech&#xff09;引擎&a…

STM32使用ITM调试_通过仿真器实现串口打印

IDE&#xff1a;CLion MCU: STM32F407VET6 工具&#xff1a;OpenOCD Telnet 一、简介 调试单片机时&#xff0c;如果要打印数据往往需要另接一根线通过USB转TTL接到电脑上。但这样做往往并不方便&#xff0c;尤其是身边没有USB转TTL工具时。这时可以使用单片机自带的ITM单元…

Java聊天小程序

拟设计一个基于 Java 技术的局域网在线聊天系统,实现客户端与服务器之间的实时通信。系统分为客户端和服务器端两类,客户端用于发送和接收消息,服务器端负责接收客户端请求并处理消息。客户端通过图形界面提供用户友好的操作界面,服务器端监听多个客户端的连接并管理消息通…

<C++学习> C++ Boost 字符串操作教程

C Boost 字符串操作教程 Boost 提供了一些实用的库来增强 C 的字符串操作能力&#xff0c;特别是 Boost.StringAlgo 和其他与字符串相关的工具。这些库为字符串处理提供了更高效、更简洁的方法&#xff0c;相比标准库功能更为丰富。 1. Boost.StringAlgo 简介 Boost.StringAl…

JAVA:Spring 事务失效的技术指南

1、简述 在使用 Spring 框架进行开发时&#xff0c;事务管理是保证数据一致性的重要机制。但在实际项目中&#xff0c;可能会遇到事务失效的问题&#xff0c;这导致数据库操作未能按照预期回滚。本文将分析 Spring 中常见的事务失效原因&#xff0c;并通过代码示例来解释如何规…

Type-C单口便携显示器-LDR6021

Type-C单口便携显示器是一种新兴的显示设备&#xff0c;它凭借其便携性、高性能和广泛的应用场景等优势&#xff0c;正在成为市场的新宠。以下是Type-C单口便携显示器的具体运用方式&#xff1a; 一、连接与传输 1. **设备连接**&#xff1a;Type-C单口便携显示器通过Type-C接…

20250110doker学习记录

1.本机创建tts环境。用conda. 0.1安装。我都用的默认,你也可以。我安装过一次,如果修复,后面加 -u bash Anaconda3-2024.10-1-Linux-x86_64.sh等待一会。 (base) kt@kt4028:~/Downloads$ conda -V conda 24.9.2 学习资源 Conda 常用命令大全(非常详细)零基础入门到精…