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

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

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.lryc.cn/news/519617.html

相关文章:

  • CentOS 7 下 MySQL 5.7 的详细安装与配置
  • 【深度学习】数据预处理
  • day01-HTML-CSS——基础标签样式表格标签表单标签
  • 无需昂贵GPU:本地部署开源AI项目LocalAI在消费级硬件上运行大模型
  • 搭建prometheus+grafana监控系统抓取Linux主机系统资源数据
  • uni-app无限级树形组件简单实现
  • 基于华为ENSP的OSPF状态机、工作过程、配置保姆级别详解(2)
  • 请求方式(基于注解实现)
  • day38 tcp 并发 ,linux下的IO模型----IO多路复用
  • 更新Office后,LabVIEW 可执行程序生成失败
  • 重塑视频创作的格局!ComfyUI-Mochi本地部署教程
  • 如何理解机器学习中的非线性模型 ?
  • Web 品质样式表
  • 计算机网络 笔记 数据链路层3(局域网,广域网,网桥,交换机)
  • centos7.6 安装nginx 1.21.3与配置ssl
  • redis 内存管理和持久化机制
  • python-42-使用selenium-wire爬取微信公众号下的所有文章列表
  • 机器人碳钢去毛刺,用大扭去毛刺主轴可轻松去除
  • day05_Spark SQL
  • Java线程的异常处理:确保线程安全运行
  • nvim 打造成可用的IDE(2)
  • 如何当前正在运行的 Elasticsearch 集群信息
  • PHP Filesystem:深入解析与实战应用
  • pdf提取文本,表格以及转图片:spire.pdf
  • jQuery UI 主题
  • C# GDI+的DrawString无法绘制Tab键的现象
  • C# GID+绘制不透明和半透明的线条
  • L4-Prompt-Delta
  • Qt 自定义控件(Qt绘图)
  • electron 上怎么用node 调用 c++ 提供的方法