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

devtools/2025/1/12 16:31:53/

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/devtools/149916.html

相关文章

图像处理|腐蚀操作

在计算机视觉与图像处理中&#xff0c;腐蚀操作&#xff08;Erosion&#xff09;是形态学操作的一种。形态学操作广泛应用于二值图像中&#xff0c;主要用于分析和提取图像中的结构信息。腐蚀操作是这类操作中最常见的一种&#xff0c;用来对图像进行“收缩”处理&#xff0c;消…

【代码随想录-数组篇02】:双指针(快慢指针)法相关力扣练习题

提示1&#xff1a;本篇共包含5道题&#xff0c;全部用python语言进行实践&#xff0c;看会不如行动会&#xff0c;请大家多多实践&#xff5e; 提示2&#xff1a;强烈推荐 代码随想录 提示3&#xff1a;博主最近在跟着【代码随想录】进行刷题&#xff0c;有小伙伴有想法的可以私…

前端数据模拟器 mockjs 和 fakerjs

功能&#xff1a;帮助前端生成随机数据&#xff0c;独立于后端单独开发 一、mockjs 安装&#xff1a;npm install mockjs 优点&#xff1a;官网是中文。 缺点&#xff1a;目前该库已经无人维护&#xff0c;也没人解决github上的bug。 官网 github地址 二、fakerjs 安装&#xf…

腾讯云下架印度云服务器节点,印度云服务器租用何去何从

近日&#xff0c;腾讯云下架印度云服务器节点的消息引起了业界的广泛关注。这一变动让许多依赖印度云服务器的用户开始担忧&#xff0c;印度云服务器租用的未来究竟在何方&#xff1f; 从印度市场本身来看&#xff0c;其云服务市场的潜力不容小觑。据 IDC 报告&#xff0c;到 2…

野指针bug

RunUnit *UnitList[10000]; void aaaa() {//用cu接收RunUnit *cu UnitList[Index];/*利用UnitList[Index]中的数据&#xff0c;借助用cu做一系列的动作*///UnitList[Index]中的数据之后在哪都不再使用&#xff0c;这里把它销毁delete cu;cu nullptr; }void bbbb() {if(UnitLi…

前缀和练习

【模版】前缀和 【模板】前缀和_牛客题霸_牛客网 思路 要想快速找出某一连续区间的和&#xff0c;我们就要使用前缀和算法。 其实本质是再创建一个dp数组&#xff0c;每进一次循环加上原数组的值&#xff08;dp代表arr的前n项和&#xff09;&#xff1a; vector<int>…

国产编辑器EverEdit - 打印与打印预览

1 打印与打印预览 1.1 应用场景 如果需要打印代码或打印编辑的文字&#xff0c;而又不想使用Word/WPS等软件&#xff0c; EverEdit自己也提供了一个不错的打印功能。 注&#xff1a;业界没有几个编辑器还在“打印预览”上下功夫&#xff0c;EverEdit的“打印预览”功能算是文…

deque

1. 对象创建 // // Created by 徐昌真 on 2025/1/10. // #include <iostream> #include <deque>using namespace std;void Print( const deque<int>& d){for ( deque<int>::const_iterator iter d.begin(); iter ! d.end(); iter ){cout <<…