怎么用html做移动网站,沈阳妇科哪个医院比较专业,公司宣传片拍摄脚本,上网站建设公司#x1f436;博主主页#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️#x1f525;专栏系列#xff1a;线性代数#xff0c;C初学者入门训练 #x1f525;座右铭#xff1a;“不要等到什么都没有了#xff0c;才下定决心去做” #x1f680;#x1f680;#x1f680;大家觉不错… 博主主页ᰔᩚ. 一怀明月ꦿ ❤️专栏系列线性代数C初学者入门训练 座右铭“不要等到什么都没有了才下定决心去做” 大家觉不错的话就恳求大家点点关注点点小爱心指点指点 题目BC134 蛇形矩阵 难度中等 描述 给你一个整数n输出n∗n的蛇形矩阵。 输入描述 输入一行包含一个整数n 输出描述 输出n行每行包含n个正整数通过空格分隔。 1n1000 示例1 输入 4 输出 1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16 解题思路所以,我用pos变量表示方向,其中1代表右上与右,-1代表左下与下. 运动情况分为6种: 碰到上边界(即i等于1且j小于n): 列增加1,行不变--------往右移动一格 碰到左边界(即j等于1 且 i小于n): 行增加1,列不变--------往下移动一格 碰到右边界(即j等于n): 行增加1,列不变--------往下移动一格 碰到下边界(即i等于n): 列增加1,行不变--------往右移动一格 以上四种是在边界上面移动.只有向右 和 向下 除去上面四种的边界情况,就是在边界中间的左下移动 除去上面四种的边界情况,就是在边界中间的右上移动 最后两种是在边界内移动 只有右上和左下 #includestdio.h
int main()
{int n0;printf(请输入矩阵的阶数\n);scanf(%d,n);int arr[n2][n2];//虽然定义了一个n2阶的矩阵但是我们只需要n阶矩阵for(int i0;in2;i){for(int j0;jn2;j){arr[i][j]0;}}arr[1][1]1;int k0;int i1,j1,pos1;for(k2;kn*n;k){if(i1jnpos1)//上边界行不变列增加一{arr[i][j]k;pos-1;}else if(j1inpos-1)//左边界列不变行增加一{arr[i][j]k;pos1;}else if(jnpos1)//右边界行加一列不变{arr[i][j]k;pos-1;}else if(inpos-1)//下边界行不变列加一{arr[i][j]k;pos1;}else if(pos1)//右上{arr[--i][j]k;}else if(pos-1)//左下{arr[i][--j]k;}}for(i1;in;i){for(j1;jn;j){printf(%-4d,arr[i][j]);}printf(\n);}
}BC136 KiKi判断上三角矩阵 难度中等 描述 KiKi想知道一个n阶方矩是否为上三角矩阵请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵主对角线为从矩阵的左上角至右下角的连线。 输入描述 第一行包含一个整数n表示一个方阵包含n行n列用空格分隔。 (2≤n≤10) 从2到n1行每行输入n个整数范围-231~231-1用空格分隔共输入n*n个数。 输出描述 一行如果输入方阵是上三角矩阵输出YES并换行否则输出NO并换行。 示例1 输入 3 1 2 3 0 4 5 0 0 6 输出 YES 示例2 输入 4 1 2 3 4 5 6 7 8 9 0 11 12 13 0 0 16 输出 NO 解题思路我们可以判断它主对角线下面的元素是否为0第一行判断0个元素第二行判断两个元素第三行判断三个元素...第n行判断n-1个元素。 #includestdio.h
int main()
{int n0;printf(亲输入输入方阵边长\n);scanf(%d,n);int arr[n][n];int i0,j0;int count0;printf(请输入矩阵\n);for( i0;in;i){for( j0;jn;j){scanf(%d,arr[i][j]);}}for( i1;in;i){for( j0;ji;j){if(arr[i][j]!0){printf(NO\n);count1;goto agin;}}}agin:if(count0){printf(YES\n);}return 0;
} 这里用到了goto语句如果判断它有一个元素不是0就直接跳出两重循环这样减少了循环次数。 如果大家还有不懂或者建议都可以发在评论区我们共同探讨共同学习共同进步。谢谢大家