今天学习了二维数组,表达形式为a[ ] [ ]={ }。
以下为今日练习:
1.行求和,列求最大值
#include<stdio.h>
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int sum[3]={0};
int i,j;
int max[3]={0};
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
sum[i]=sum[i]+a[i][j];
}
}
for(i=0;i<3;i++)
{
printf("%d ",sum[i]);
}printf("\n");
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
if(max[j]<a[i][j])
{
max[j]=a[i][j];
}
}
}
for(j=0;j<3;j++)
{
printf("%d ",max[j]);
}printf("\n");
}
2.行排序
#include<stdio.h>
int main()
{
int a[5][5]={
1,2,2,1,2,
5,6,7,8,3,
9,3,0,5,3,
7,2,1,4,6,
3,0,8,2,4,};
int i,j;
int m,n;
int b;
scanf("%d%d",&m,&n);
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
b=a[m-1][j];
a[m-1][j]=a[n-1][j];
a[n-1][j]=b;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
3.打印杨辉三角形的前10行
#include<stdio.h>
int main()
{
int a[10][10]={};
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
a[i][j]=1;
if(i>1&&j<i&&j>0)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("%3d ",a[i][j]);
}
printf("\n\n");
}
}
4.已知一个6*6的矩阵(方阵),把矩阵二条对角线上的元素值加上10,然后输出这个新矩阵
#include<stdio.h>
int main()
{
int a[6][6]={{1,2,3,4,5,6,},{1,2,3,4,5,6,},{1,2,3,4,5,6,},{1,2,3,4,5,6,},{1,2,3,4,5,6},{1,2,3,4,5,6}};
int i,j;
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
if(i==j)
{
a[i][j]=a[i][j]+10;
}
if(i+j==5)
{
a[i][j]=a[i][j]+10;
}
printf("%d ",a[i][j]);
}
printf("\n");
}
}
5.矩阵交换行
#include<stdio.h>
int main()
{
int a[3][3]={1,5,9,7,3,2,8,4,6};
int i,j;
int b,n;
for(i=0;i<3;i++)
{
for(n=1;n<3;n++)
{
for(j=0;j<2;j++)
{
if(a[i][j]>a[i][j+1])
{
b=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=b;
}
}
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
6.分别求二维数组3*3的{10,12,13,14,15,16,17,18,19}对角线元素的和
#include<stdio.h>
int main()
{
int a[3][3]={10,12,13,14,15,16,17,18,19};
int i,j;
int sum=0,sum1=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==j)
{
sum=sum+a[i][j];
}
if(i+j==2)
{
sum1=sum1+a[i][j];
}
}
}
printf("%d %d",sum,sum1);
}