已知一个n*n的矩阵(方阵n<=100),把矩阵主副对角线上的元素值加上x,然后输出这个新矩阵。
一行两个变量,用空格隔开,代表n和x;接下来的n行每行n列,表示矩阵的数值,用空格隔开。
输出新矩阵,每个数字5个宽度占位符,右对齐输出
3 4
1 2 3
1 2 3
1 2 3
5 2 7
1 6 3
5 2 7
分析:
?????? 今天,又是闲的发慌的一天,做个水题。
??????? 首先,这道题套个公式矩阵主副对角线的判断。
代码:
#include<bits/stdc++.h>
using namespace std;
int c[1005][1005];
int main(){
int n,x;
cin>>n>>x;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>c[i][j];
if((i==j)||((i+j)==(n-1))){//判断主副对角线
c[i][j]+=x;//对角线上的数+=x
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
printf("%3d ",c[i][j]);
}
cout<<endl;
}
return 0;
}