OJ1125: 上三角矩阵的判断

2017-11-27 19:12:10来源:CSDN作者:wan_516202076人点击

分享

OJ1125: 上三角矩阵的判断

[链接地址:]https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1125

Description
编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。
上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下:
IsUpperTriMatrix(int a, int n);

Input
输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,均为整数。

Output
如果a是上三角矩阵,输出“YES”,否则,输出“NO”

Sample Input
4
1 2 3 4
0 2 2 2
0 0 3 4
0 0 0 4

Sample Output
YES

思路:

  1. 循环嵌套给二维数组赋值
  2. 调用定义的函数,并传递参数
  3. 一次判断下三角数,如果不等于0,将标志位置为1,
  4. 如果标志位为1,返回0,即矩阵重点内容是上三角矩阵,否则不是

总结:
二位数组作为形参,需要定义列数

代码实现:

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

相关文章

    无相关信息

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台