int main (void)
{
int a[4][5]
int b[5]
int *p
p=&a[0][0]
//输入四行五列的20个数值
printf("请输入第一行的5个数值,数值间以逗号分开\n")
scanf("%d,%d,%d,%d,%d",&*p,&*(p+1),&*(p+2),&*(p+3),&*(p+4))
printf("请输入第二行的5个数值,数值间以逗号分开\n")
scanf("%d,%d,%d,%d,%d",&*(p+5),&*(p+6),&*(p+7),&*(p+8),&*(p+9))
printf("请输入第三行的5个数值,数值间以逗号分开\n")
scanf("%d,%d,%d,%d,%d",&*(p+10),&*(p+11),&*(p+12),&*(p+13),&*(p+14))
printf("请输入第四行的5个数值,数值间以逗号分开\n")
scanf("%d,%d,%d,%d,%d",&*(p+15),&*(p+16),&*(p+17),&*(p+18),&*(p+19))
//计算每一列的和,并放入数组b[4]中
b[0]= a[0][0]+a[1][0]+a[2][0]+a[3][0]
b[1]= a[0][1]+a[1][1]+a[2][1]+a[3][1]
b[2]= a[0][2]+a[1][2]+a[2][2]+a[3][2]
b[3]= a[0][3]+a[1][3]+a[2][3]+a[3][3]
b[4]= a[0][4]+a[1][4]+a[2][4]+a[3][4]
//输出数组b[4]
printf("第一列的数值为%d\n",b[0])
printf("第二列的数值为%d\n",b[1])
printf("第三列的数值为%d\n",b[2])
printf("第四列的数值为%d\n",b[3])
printf("第五列的数值为%d\n",b[4])
return 0
}
/*
运行结果如下:
---------------------------------------
请输入第一行的5个数值,数值间以逗号分开
12,124,253,54,43
请输入第二行的5个数值,数值间以逗号分开
1243,124,124,354,34
请输入第三行的5个数值,数值间以逗号分开
12345,423,45,67,4
请输入第四行的5个数值,数值间以逗号分开
25,564,6,4,7
第一列的数值为13625
第二列的数值为1235
第三列的数值为428
第四列的数值为479
第五列的数值为88
---------------------------------------
运行过可以用的,望采纳
*/
你可以使用如下代码来求解5 * 5矩阵外圈数据的和:
在上面的代码中,我们定义了一个5 * 5的矩阵,然后使用四个循环分别求出矩阵的第一行,最后一行,第一列和最后一列的和。最后,我们把所有求出来的和相加,就得到了矩阵外圈元素的和。
#include <stdio.h>
int main()
{
// 定义5*5的矩阵(二维数组)
int matrix[5][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}}
int sum = 0 // 用于存储矩阵外圈数据的和
// 求矩阵外圈数据的和
// 第一行
for (int i = 0i <5i++) {
sum += matrix[0][i]
}
// 第五行
for (int i = 0i <5i++) {
sum += matrix[4][i]
}
// 第一列
for (int i = 1i <4i++) {
sum += matrix[i][0]
}
// 第五列
for (int i = 1i <4i++) {
sum += matrix[i][4]
}
// 输出结果
printf("矩阵外圈数据的和为:%d\n", sum)
return 0
}