查找最大数、排序、矩阵等

例1 寻找最大数

#include <stdio.h>

main()

{

    

  int i,max,a[]={4,8,1,3,6,9,10,2};

  max=a[0];

  for(i=1;i<8;i++)

  {

     if ( a[i]>max)

  max=a[i];

  }

printf("max=%d ",max);

}

例2 寻找最大数和最大数的位置

#include <stdio.h>

main()

{

    

  int i,p,max,a[]={4,8,1,3,6,9,10,2};

  max=a[0];

  p=0;

  for(i=1;i<8;i++)

  {

     if ( a[i]>max)

{

    max=a[i];

p=i;

  }

printf("max=%d   p=%d ",max,p+1);

}

例3 排队问题一

#include <stdio.h>

main()

{

    

  int i,j,p,max,a[]={4,8,1,3,6,9,10,2};

  j=0;

aa:  max=a[j];

  p=j;

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

  {

     if ( a[i]>max)

{

    max=a[i];

p=i;

  }

  a[p]=a[j];

  a[j]=max;

  j++;

  printf("max=%d   p=%d ",a[j],a[p]);

  if(j<7)

  goto  aa;

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

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

}

例4 排队问题二

#include <stdio.h>

main()

{

    

  int i,j,p,max,a[]={4,8,1,3,6,9,10,2};

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

{ max=a[j];

  p=j;

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

  {

     if ( a[i]>max)

{

    max=a[i];

p=i;

  }

  a[p]=a[j];

  a[j]=max;

  printf("max=%d   p=%d ",a[j],a[p]);

}

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

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

}

例5 排序问题(沉底法)

#include <stdio.h>

main()

{

  int i,j,p,a[]={2,6,3,5,7,8,1};

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

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

          printf(" " );

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

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

   if(a[i]>a[i+1]) 

   {

    p=a[i];

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

    a[i+1]=p;

   }

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

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

          printf(" " );

}

例2-1 寻找最大数

#include <stdio.h>

main()

{

    

  int i,j,p,max,a[3][3]={4,8,1,3,26,9,10,2,15};

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

  {

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

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

    printf(" ");

  }

  max=a[0][0];

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

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

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

        max=a[i][j];

   

       printf(" %d    ",max); 

}

例2-2 寻找最大数和最大数的位置

#include <stdio.h>

main()

{

    

  int i,j,pi,pj,max,a[3][3]={4,38,1,3,26,9,10,2,15};

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

  {

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

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

    printf(" ");

  }

  max=a[0][0];

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

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

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

{

max=a[i][j];

pi=i;

pj=j;

}

       printf(" %d    %d    %d  ",max,pi+1,pj+1); 

}

例3-1 矩阵乘法一(求第i行第j列元素)

#include <stdio.h>

main()

{

    

  int i,j,k,a[3][3]={4,38,1,3,26,9,10,2,15},b[3][4]={1,3,4,7,9,1,4,2,11,6,8,3},c[3][4];

  for (i=0;i<3;i++)   /*打印矩阵a*/

  {

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

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

    printf(" ");

  }

printf(" ");

    for (i=0;i<3;i++)  /*打印矩阵b*/

  {

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

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

    printf(" ");

  }

/*求矩阵c[i][j]*/ 

i=1;

j=2;

c[i][j]=0;

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

{

           c[i][j]=c[i][j]+a[i][k]*b[k][j];

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

}

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

}

例3-2 矩阵乘法二(求第i行元素)

#include <stdio.h>

main()

{

    

  int i,j,k,a[3][3]={4,38,1,3,26,9,10,2,15},b[3][4]={1,3,4,7,9,1,4,2,11,6,8,3},c[3][4];

  for (i=0;i<3;i++)   /*打印矩阵a*/

  {

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

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

    printf(" ");

  }

printf(" ");

    for (i=0;i<3;i++)  /*打印矩阵b*/

  {

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

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

    printf(" ");

  }

/*求矩阵c[i][j]*/ 

i=1;

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

{

c[i][j]=0;

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

{

           c[i][j]=c[i][j]+a[i][k]*b[k][j];

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

}

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

}

}

例3-3 矩阵乘法三(求所有元素)

#include <stdio.h>

main()

{

    

  int i,j,k,a[3][3]={4,38,1,3,26,9,10,2,15},b[3][4]={1,3,4,7,9,1,4,2,11,6,8,3},c[3][4];

  for (i=0;i<3;i++)   /*打印矩阵a*/

  {

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

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

    printf(" ");

  }

printf(" ");

    for (i=0;i<3;i++)  /*打印矩阵b*/

  {

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

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

    printf(" ");

  }

/*求矩阵c[i][j]*/ 

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

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

{

c[i][j]=0;

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

{

           c[i][j]=c[i][j]+a[i][k]*b[k][j];

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

}

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

}

  for (i=0;i<3;i++)   /*打印矩阵c*/

  {

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

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

    printf(" ");

  }

}

原文地址:https://www.cnblogs.com/duanqibo/p/11113476.html