常州网站推广招聘,网站怎么做,书画院网站建设模板,wordpress的官网1. 题目描述——BC106 上三角矩阵判定
牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵#xff0c;请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵#xff0c;主对角线为从矩阵的左上角至右下角的连线。 示例 输入#xff1a; 3 1 2 3 0 4 5 0 0…1. 题目描述——BC106 上三角矩阵判定
牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵主对角线为从矩阵的左上角至右下角的连线。 示例 输入 3 1 2 3 0 4 5 0 0 6 输出YES 2. 思路 3. 代码实现
#includestdio.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就不需要判断剩余的了
#includestdio.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。
#includestdio.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
#includestdio.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;
}