产生一个5*5的二维数组,两条对角线上元素均为2,其余元素为1,将其输出。
#include <stdio.h>
int main() {
int arr[5][5];
int i, j;
// 初始化数组
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (i == j || i == (4 - j)) {
arr[i][j] = 2;
} else {
arr[i][j] = 1;
}
}
}
// 输出数组
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
//21.求5*5的二维数组的每行元素的平均值
#include<stdio.h>
int main()
{
int a[5][6],j,i;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<5;i++)
{
a[i][5]=0;
for(j=0;j<5;j++)
a[i][5]+=a[i][j];
a[i][5]=a[i][5]/5;
}
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
printf("%2d",a[i][j]);
printf("\n");
}
return 0;
}
运行结果:
可以使用numpy库创建二维数组,然后通过循环将两条对角线上的元素设为2,其他元素设为1,最后通过print()函数输出数组。具体代码如下:
import numpy as np
# 创建5行5列的二维数组,元素均为1
array = np.ones((5, 5))
# 循环将两条对角线上的元素设为2
for i in range(5):
array[i][i] = 2
array[i][4-i] = 2
# 输出数组
print(array)
输出结果如下:
[[2. 1. 1. 1. 2.]
[1. 2. 1. 2. 1.]
[1. 1. 2. 1. 1.]
[1. 2. 1. 2. 1.]
[2. 1. 1. 1. 2.]]