2.求一个3×3矩阵对角线元素之和、积、上三角、下三角元素之和。
#include <stdio.h>
#define N 3
int main()
{
int i,j,sum,ji,s3,x3;
sum=0,ji=1,s3=0,x3=0;
int a[N][N]={{1,2,3},{4,5,6},{7,8,9}};
printf("3x3矩阵\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
if(i<=j)
{
s3+=a[i][j];
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
if(j<=i)
{
x3+=a[i][j];
}
}
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
if(i==j)
{
sum=sum+a[i][j];
ji=ji*a[i][j];
}
}
printf("和=%d 积=%d 上三角和=%d 下三角和=%d",sum,ji,s3,x3);
}
6.编写程序求一个二维数组各行和各列元素之和。(程序有问题?)
#include <stdio.h>
#define N 3
int main()
{
int i,j,sum;
sum=0;
int a[N][N]={{1,2,3},{4,5,6},{7,8,9}};
printf("3x3矩阵\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
sum=sum+a[i][j];
}
printf("和=%d",sum);
}
1.输入一个正整数n(1≤n≤10),根据下列式子生成n×n矩阵,然后输出该矩阵。
A[i][j]=i×n+j+1
#include <stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
int a[n][n]={0};
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
a[i][j]=i*n+j+1;
printf("%4d",a[i][j]);
}
printf("\n");
}
}
3.打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…… …… ……
4.编写程序,实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中。
#include<stdio.h>
int main()
{
int i,j,n,a[3][3],b[3][3];
n=0;
printf("请输入一个矩阵A:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("请输入一个矩阵A的转置:\n");
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
scanf("%d",&a[j][i]);
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
b[i][j]=a[i][j]+a[j][i];
}
printf("矩阵B为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",b[i][j]);
}
printf("\n");
}
return 0;
}
5.编写程序求一个二维数组四边元素之和。
7.若矩阵A中的非边界元素A[i][j]大于上下左右四个相邻元素,称A[i][j]是矩阵的局部极大值。编程实现输出矩阵的所有局部极大值。矩阵由实验者自行确定。
8.编写程序,实现两个方阵之和(对应元素之和)、之差(对应元素之差)、之积。两个方阵乘积公式如下C=A×B:
cij=k=0paik×bkj=ai0×b0j+ai[1]×b1j+…+a[i][p]×b[p][j].