2020-04-01学习心得

今天,学习了二维数组的定义,二维数组是数组的升级版本,解题过程中可以通过创立矩阵的方式直观观察数组的规律,从而进一步找到解题的方式。今日的习题中主要练习了双层for循环、冒泡排序、累加求和等相关知识的灵活运用,对逻辑思维能力要求更高了一层。尤其是杨辉三角形前十行的输出,由于一味考虑等边三角形的输出形式,致使解题陷入僵局。

//1.行求和,列求最大值

/*

#include

int main()

{

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int i,j,sum=0,b=0;

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

sum=sum+a[i][j];

}

printf("第%d行的和是:%d\n",i+1,sum);

sum=0;

}

for(j=0;j<4;j++)

{

for(i=0;i<3;i++)

{

if(a[i][j]>b)

{

b=a[i][j];

}

}

printf("第%d列中最大值是:%d\n",j+1,b);

b=0;

}

}

*/

//2.行排序

/*

#include

int main()

{

int a[2][5]={15,16,12,14,17,13,18,10,19,21};

int i,j,k,b;

for(k=0;k<10;k++)

{

for(i=0;i<2;i++)

{

for(j=0;j<5;j++)

{

  if(a[i][j]

  {

  b=a[i][j];

  a[i][j]=a[i][j+1];

  a[i][j+1]=b;

           }

 

     }

    }

   } 

   for(i=0;i<2;i++)

   {

    for(j=0;j<5;j++)

    {

  printf("%d ",a[i][j]);

     }

     printf("\n");

   } 

}

*/

//3.已知一个6*6的矩阵(方阵),把矩阵二条对角线上的元素值加上10,然后输出这个新矩阵。

/*

#include

int main()

{

int a[6][6]={10,11,12,13,14,15,10,11,12,13,14,15,10,11,12,13,14,15,10,11,12,13,14,15,10,11,12,13,14,15,10,11,12,13,14,15};

    int i,j,k;

    for(k=0;k<36;k++)

    {

    for(i=0;i<6;i++)

        {

        for(j=0;j<6;j++)

        {

        if(j==5-i||i==j)

{

  a[i][j]=a[i][j]+10;

           }

       }

      

        }

    }

    for(i=0;i<6;i++)

    {

    for(j=0;j<6;j++)

    {

    printf("%d ",a[i][j]);

   }

   printf("\n");

    }

}

*/

//4.打印杨辉三角形的前10行。

#include

int main()

{

int a[10][10];

int i,j;

for(i=0;i<10;i++)

{

a[i][i]=1;

a[i][0]=1;

}

for(i=2;i<10;i++)

{

for(j=1;j<=i-1;j++)

{

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

}

for(i=0;i<10;i++)

{

for(j=0;j<=i;j++)

{

printf("%6d",a[i][j]);

}

printf("\n");

}

}


//5.矩阵行交换

/*

#include

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 b=0;

int i,j,k;

for(k=0;k<25;k++)

{

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

{

if(i==0)

{

b=a[i][j];

a[i][j]=a[4-i][j];

a[4-i][j]=b;

}

}

}

}

for(i=0;i<5;i++)

    {

    for(j=0;j<5;j++)

    {

    printf("%d ",a[i][j]);

   }

   printf("\n");

    }

*/

//6.分别求二维数组3*3的{10,12,13,14,15,16,17,18,19}对角线元素的和

/*

#include

int main()

{

int a[3][3]={10,12,13,14,15,16,17,18,19};

int i,j,k,sum=0,sum1=0;

for(i=0;i<3;i++)

    {

for(j=0;j<3;j++)

{

if(i==j)

{

sum=sum+a[i][j];

}

   if (j==2-i)

   {

    sum1=sum1+a[i][j];

    }

}

}

printf("第一条对角线的和是:%d\n",sum);

    printf("第二条对角线的和是:%d\n",sum1);

}

*/

你可能感兴趣的:(2020-04-01学习心得)