同城便民网站开发,怎么介绍自己的家乡,营销战略和营销策略,网站的价值与网站建设的价格题目#xff1a;
给定一个三角矩阵#xff0c;判断其是否为#xff1a;上三角矩阵、下三角矩阵。
上三角矩阵指主对角线以下的元素都为0的矩阵#xff1b; 下三角矩阵指主对角线以上的元素都为0的矩阵#xff1b; 主对角线为从矩阵的左上角至右下角的连线。
输入矩阵是…题目
给定一个三角矩阵判断其是否为上三角矩阵、下三角矩阵。
上三角矩阵指主对角线以下的元素都为0的矩阵 下三角矩阵指主对角线以上的元素都为0的矩阵 主对角线为从矩阵的左上角至右下角的连线。
输入矩阵是三种情况之一上三角矩阵、下三角矩阵或者都不是。
输入格式:
输入第一行给出一个正整数T为待测矩阵的个数。
接下来给出T个矩阵的信息
每个矩阵信息的第一行给出一个不超过10的正整数n。
随后n行每行给出n个整数其间以空格分隔。
输出格式:
每个矩阵的判断结果占一行。
如果输入的矩阵是上三角矩阵输出“upper”如果输入的矩阵是下三角矩阵输出“lower”都不是输出“no”。
输入样例:
3
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
4
1 2 4 0
56 5 7 9
3 4 8 9
0 0 0 0输出样例:
upper
lower
no代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路
这段代码的主要功能是判断输入的矩阵是上三角矩阵还是下三角矩阵或者既不是上三角矩阵也不是下三角矩阵。具体来说程序首先通过 scanf 函数读取一个整数 n表示接下来要读入 n 个矩阵。然后程序通过嵌套的循环依次读入每个矩阵并使用两个标志变量 q 和 w 判断该矩阵是否为上三角矩阵或下三角矩阵。最后程序根据 q 和 w 的值输出相应的结果。
具体实现过程如下程序使用一个二维数组 a 存储输入的矩阵其中 a[x][y] 表示矩阵中第 x1 行第 y1 列的元素。在读入矩阵后程序首先使用两个嵌套的循环遍历矩阵的下三角部分即第 x 行第 y 列的元素其中 xy如果发现任意一个非零元素则将标志变量 q 设为 1并跳出循环。然后程序使用两个嵌套的循环遍历矩阵的上三角部分即第 x 行第 y 列的元素其中 xy如果发现任意一个非零元素则将标志变量 w 设为 1并跳出循环。最后程序根据 q 和 w 的值输出相应的结果。
代码
#includestdio.h
int main()
{int n;scanf(%d, n);int m;int a[100][100] { 0 };for (int i 0; i n; i){scanf(%d, m);int q 0;int w 0; int e 0;for (int x 0; x m; x){for (int y 0; y m; y){scanf(%d, a[x][y]);}}for (int x 0; x m; x){for (int y 0; y x; y){if (a[x][y] ! 0){q 1;break;}}if (q 1){break;}}for (int x 0; x m; x){for (int y x 1; y m; y){if (a[x][y] ! 0){w 1;break;}}if (w 1){break;}}if (q 0){printf(upper\n);}else if (w 0){printf(lower\n);}else{printf(no\n);}}return 0;
}