【CPTA——8.数组2(课外实践)】
【C/PTA——8.数组2(课外实践)】
C/PTA——8.数组2(课外实践)
- 7-4 矩阵运算
- 7-2 方阵循环右移
- 7-3 螺旋方阵
- 7-4 数组-杨辉三角
- 7-5 数组-对角线求和
- 7-6 数组-矩阵最小值
7-4 矩阵运算
#include<stdio.h>
int main()
{int n, i, j;int a[10][10] = { 0 };scanf("%d", &n);int sum = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);sum += a[i][j];}}int num1 = 0,num2=0,num3=0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == n - j - 1)num1 += a[i][j];if (i == n - 1)num2 += a[i][j];if (j == n - 1)num3 += a[i][j];}}printf("%d", sum - num1 - num2 - num3 + a[0][n - 1] + a[n - 1][0] + a[n - 1][n - 1]);return 0;
}
7-2 方阵循环右移
#include<stdio.h>
int main()
{int i, j, n, m;scanf("%d %d", &m, &n);int a[10][10] = { 0 };for (i = 0; i < n; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);}}m %= n;for (i = 0; i < n; i++){for (j = 0; j < n; j++){printf("%d ", a[i][(n - m + j)%n]);}putchar('\n');}return 0;
}
7-3 螺旋方阵
#include<stdio.h>
int main()
{int n, i, j, p, q, g, t = 1;scanf("%d", &n);int a[n][n];for (i = 0; i < (n + 1) / 2; i++) // 圈数{for (j = i; j < n - i; j++) // 横a[i][j] = t++;for (p = i + 1; p < n - i; p++) // 竖a[p][j - 1] = t++;for (q = j - 2; q >= i; q--) // 反横a[p - 1][q] = t++;for (g = p - 2; g >= i + 1; g--) // 反竖a[g][i] = t++;}for (i = 0; i < n; i++){for (j = 0; j < n; j++){printf("%3d", a[i][j]);}printf("\n");}return 0;
}
7-4 数组-杨辉三角
#include<stdio.h>
int main()
{int n, i, j;int arr[21][21] = { 0 };scanf("%d", &n);for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (j == 0 || j == i)arr[i][j] = 1;elsearr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}for (i = 0; i < n; i++){for (j = 0; j <= i; j++){printf("% 7d", arr[i][j]);}printf("\n");}return 0;
}
7-5 数组-对角线求和
#include <stdio.h>int main() {int n, i, j, sum1 = 0, sum2 = 0;scanf("%d", &n);int matrix[n][n];for (i = 0; i < n; i++) {for (j = 0; j < n; j++) {scanf("%d", &matrix[i][j]);if (i == j) {sum1 += matrix[i][j];}if (i + j == n - 1) {sum2 += matrix[i][j];}}}printf("%d %d", sum1, sum2);return 0;
}
7-6 数组-矩阵最小值
#include<stdio.h>
#define MAXN 20int main()
{int a[MAXN][MAXN], m, n, i, j, x, y;scanf("%d%d", &m, &n);for(i = 0; i < m; i++)for(j = 0; j < n; j++)scanf("%d", &a[i][j]);x = y = 0;for(i = 0; i < m; i++)for(j = 0; j < n; j++)if(a[i][j] < a[x][y]){x = i;y = j;}printf("%d %d %d\n", a[x][y], x + 1, y + 1);return 0;
}
最新文章
- SoftwareTest6
- Android设计模式
- 探索向量数据库
- 信驰达科技加入车联网联盟(CCC),推进数字钥匙发展与应用
- 成都爱尔谭姣主任讲解哪些情况需要进行泪道冲洗
- excel中的OFFSET函数
- Python武器库开发
- Model Inspector—软件模型静态规范检查工具
- Python 框架学习 Django篇 (十) Redis 缓存
- Ansible playbook详解
- Centos8上部署Zabbix5.0
- 数据结构(超详细讲解!!)第二十三节 树型结构
- 【Linux】软硬链接和动静态库
- samba 共享目录write permission deny问题修复 可读取内容但不可修改 删除 新增文件
- 东莞松山湖数据中心
- Python实现WOA智能鲸鱼优化算法优化循环神经网络回归模型(LSTM回归算法)项目实战
- 结合大模型进行降本增效之——自动化测试