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;
else
arr[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 数组-对角线求和
文章来源:https://www.toymoban.com/news/detail-754740.html
#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 数组-矩阵最小值
文章来源地址https://www.toymoban.com/news/detail-754740.html
#include<stdio.h>
#define MAXN 20
int 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;
}
到了这里,关于【C/PTA——8.数组2(课外实践)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!