6-1 A - C语言实验——求一个3*3矩阵对角线元素之和
#include<stdio.h>
int main()
{
int i,j,a[3][3];//二维数组,比一维数组难那么一丢丢
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("%d",a[2][0]+a[1][1]+a[0][2]);
return 0;
}
6-2 B - 爬山
#include<stdio.h>
int main()
{
int a,b,i,j,c[100][100],x,y,h,H,max=0;
while(scanf("%d %d",&a,&b)!=EOF)
{
max=0;
for(i=0; i<a; i++)
{
for(j=0; j<b; j++)
{
scanf("%d",&c[i][j]);
if(c[i][j]>max)
{
max=c[i][j];
}
}
}
scanf("%d %d",&x,&y);
h=c[x-1][y-1];
H=max-h;
printf("%d\n",H);
}
return 0;
}
6-3 C - C语言实验——矩阵转置
#include<stdio.h>
int main()
{
int a[100][100];
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(j==n-1)
printf("%d\n",a[j][i]);
else printf("%d ",a[j][i]);
}
}
return 0;
}
6-4 D - 对称矩阵的判定
#include<stdio.h>
int main()
{
int n,i,j,a[21][21],b,c;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
else
{
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
}
int b=0;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(a[i][j]!=a[j][i])
b++;
}
}
if(b==0)
printf("yes\n");
else printf("no\n");
}
}
return 0;
}
6-5 E - 矩阵的舞蹈
#include <stdio.h>
int main()
{
int c,m,n,k,i,j;
scanf("%d",&c);
for (k=1; k<=c; k++)
{
scanf("%d %d",&m,&n);
int a[m][n];
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
scanf("%d",&a[i][j]);
}
}
int b[n][m];
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
{
b[i][j]=a[m-j-1][i];
}
}
printf("Case #%d:\n",k);
for (i=0; i<n; i++)
{
for (j=0; j<m-1; j++)
{
printf("%d ",b[i][j]);
}
printf("%d\n",b[i][m-1]);
}
}
return 0;
}//有点难理解,不懂得评论区见~
6-6 F - 杨辉三角
#include <stdio.h>
int main()
{
int n,a[30][30],i,j;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(j==i)
printf("%d\n",a[i][j]);
else
printf("%d ",a[i][j]);
}
}
printf("\n");
}
return 0;
}
6-7 G - 鞍点计算
#include<stdio.h>
int main()
{
int a[100][100],m,n,i,j,k,d,h=0;
scanf("%d %d",&m,&n);
for(j=0; j<m; j++)
{
for(i=0; i<n; i++)
{
scanf("%d",&a[j][i]);
}
}
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
for(k=0; k<m; k++)
{
if(a[i][j]>a[k][j]) break;
}
for(d=0; d<n; d++)
{
if(a[i][j]<a[i][d]) break;
}
if(k==m&&d==n)
{
printf("Array[%d][%d]=%d",i,j,a[i][j]);
h++;
}
}
}
if(h==0) printf("None");
return 0;
}
加油加油加油!!!