1、单位矩阵初始化
题目描述
对用作单位矩阵的数组初始化。单位矩阵在主对角线上的值为1,而其他的地方的值为0,并且主对角线上的行、列下标是一样的。
输入要求
输入一个整数n表示矩阵的行数
输出要求
输出n*n的单位矩阵。数据之间以空格间隔,每行的最后一个数据后面有空格
输入样例
3
输出样例
1 0 0
0 1 0
0 0 1
代码示例:
#include <stdio.h>
int main()
{int n,i,j;int a[101][101]={0};scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){if(i==j){a[i][j]=1;}printf("%d ",a[i][j]);}printf("\n");}return 0;
}
2、二维数组求行平均值
题目描述
输入3*3的二维数组,求每行元素的平均值
输入要求
输入3*3个数据
输出要求
输出每行的平均值。每个数据各占一行。保留1位小数
输入样例
95 68 78
65 77 88
94 82 73
输出样例
80.3
76.7
83.0
代码示例:
#include <stdio.h>
int main()
{int i,j;double a[3][4];for(i=0;i<3;i++){a[i][3]=0;for(j=0;j<3;j++){scanf("%lf",&a[i][j]);a[i][3]+=a[i][j];}}for(i=0;i<3;i++){printf("%.1f\n",a[i][3]/3);}return 0;
}
3、对角线元素和
题目描述
从键盘输入一个整数n,然后输入n*n个数据建立一个方阵,计算并输出方阵主对角线元素的和
输入要求
先输入一个整数n表示方阵的维数,接着输入n*n个数据形成一个方阵
输出要求
方阵主对角线元素之和
输入样例
3
1 2 4
-1 5 6
3 3 9
输出样例
15
代码示例
#include <stdio.h>
int main()
{int n,i,j,sum=0;int a[n][n];scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);if(i==j){sum+=a[i][j];}} }printf("%d\n",sum);return 0;
}
4、上三角置0
题目描述
将一个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
变成
1 0 0 0 0
6 7 0 0 0
11 12 13 0 0
12 17 18 19 0
21 22 23 24 25
输入要求
输入一个5行5列的二维矩阵
输出要求
输出上三角置零后的二维矩阵,注意:输出每个元素占4位且右对齐。(输入数据范围保证在(-100,100))。
输入样例
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
输出样例
1 0 0 0 0
6 7 0 0 0
11 12 13 0 0
12 17 18 19 0
21 22 23 24 25
代码示例:
#include<stdio.h>
int a[5][5];
int main()
{int i,j;for(i=1;i<=5;i++){for(j=1;j<=5;j++){scanf("%d",&a[i][j]);if(j>i){a[i][j]=0;} }}for(i=1;i<=5;i++){for(j=1;j<=5;j++){printf("%4d",a[i][j]);}printf("\n");}return 0;
}