题目
本题是中国海洋大学编程题20题题库的第7题。
题目:
7.给定程序中,函数fun的功能是:有N*N矩阵,以主对角线为对称线,对称元素相加
并将结果存放在左下三角元素中,右上三角元素置为0.
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
一、解题思路
思路:
1,先把a矩阵转置存入b
2,将左下部分对称元素相加
3,将右上部分置为0
4,输出结果
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
#define N 5
void fun(int a[N][N])
{
int i, j, b[N][N];
for (i = 0; i < N; i++)//先把a矩阵转置存入b
for (j = 0; j < N; j++)
b[i][j] = a[j][i];
for (i = 0; i < N; i++)//将左下部分对称元素相加
for (j = 0; j < i; j++)
a[i][j] += b[i][j];
for (i = 0; i < N; i++)//将右上部分置为0
for (j = N - 1; j > i; j--)
a[i][j] = 0;
printf("输出结果为:\n");
for (i = 0; i < N; i++)//输出结果
{
for (j = 0; j < N; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
void main()
{
int a[N][N],i,j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d", &a[i][j]);
fun(a);
}
三、执行结果
输入:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
输出:
输出结果为:
1 0 0 0 0
3 2 0 0 0
4 5 3 0 0
5 6 7 4 0
6 7 8 9 5