您的位置:

c语言鞍点顺序,c语言找鞍点几种方法

本文目录一览:

C语言实验题——鞍点

#include "stdio.h"

#include "stdlib.h"

void main()

{

    int a[100][100],n,m,max,min,k,i,j,h=0;

   

    scanf("%d%d",n,m);

    for(i=0;in;i++)

      for(j=0;jm;j++)

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

   for(i=0;in;i++)

   {

     max=a[i][0];

      for(j=0;jm;j++)

         if(maxa[i][j])max=a[i][j];

       for(j=0;jm;j++)

         if(max==a[i][j])break;

        min=a[i][j];

       for(k=0;kn;k++)

       if(mina[k][j])min=a[k][j];

       if(max==min)

       {printf("Array[%d][%d]=%d\n",i,j,max);h=1;}

       

   } 

   if(h==0)printf("None");

      

}

C语言鞍点问题

该程序的代码如下。是很具有人性化的设计方案,希望对你有所帮助。

/*找一个二维数组中的鞍点,即该位置上的元素是该行中最大,在该列上最小,也可能没有鞍点。*/

#include stdio.h

#define N 10 /*查找鞍点*/

#define M 10

void main()

{

int i,j,k,m,n,flag1,flag2,a[M][N],max,maxj;

printf("输入行数n:");

scanf("%d",n);

printf("输入列数m:");

scanf("%d",m);

for(i=0;in;i++)

{

printf("请输入第%d行:",i+1);

for(j=0;jm;j++)

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

}

printf("\n");

for(i=0;in;i++)

{

for(j=0;jm;j++)

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

printf("\n");

}

flag2=0;

for(i=0;in;i++)

{

max=a[i][0];

for(j=0;jm;j++)

if(a[i][j]max)

{

max=a[i][j];

maxj=j;

}

for(k=0,flag1=1;knflag1;k++)

if(maxa[k][maxj])

flag1=0;

if(flag1)

{

printf("\n第%d行,第%d列的%d是鞍点\n",i+1,maxj+1,max);

flag2=1;

}

}

if(!flag2)

printf("\n矩阵中无鞍点!\n");

}

此外谭浩强版的C程序设计答案可以从下面网址下载

如果该回答你很满意,别忘记加分哦。呵呵。

C语言的鞍点怎么求

先在行中找出最小的,然后看这个数在其所在的列是否是最大的即可

C语言编程题,找鞍点

#includestdio.h

int main()

{

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

int i,j,k,i0,j0,find=0;

printf("数组a:\n");

for(i=0;i4;i++)

{

for(j=0;j4;j++)

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

printf("\n");

}

for(i=0;i4;i++)        //穷举所有的行

{

j0=0;

for(j=1;j4;j++)

if(a[i][j]a[i][j0])j0=j;    //找到第i行上最大的数a[i][j0]

k=1;

for(i0=0;i04;i0++)    //对找到的该数穷举所有行

if(a[i0][j0]a[i][j0])k=0;    //如它不是本列上最小的数就“一票否决”

if(k)    //若确认是,就输出,并记录已找到

{

printf("鞍点是:a[%d][%d]=%d\n",i,j0,a[i][j0]);

find=1;

}

}

if(!find)    //若未找到,则输出提示信息

printf("此数组无鞍点!\n");

return 0;

}

c语言求鞍点!

#include "stdafx.h"

#includestdio.h

void main(){ 

 int i,j,a[4][5];

 int k,g,min,max;

 for(i=0;i4;i++)

  for(j=0;j5;j++)

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

  for(i=0;i4;i++){

   max=a[i][0];

   for(j=1;j5;j++)

    if(a[i][j]max) 

    {max=a[i][j];

     k=j;

    }

  }

  for(i=1;i4;i++){

   min=a[0][k];

   if(a[i][k]min) 

    min=a[i][k];

  }

  if(max==min) 

   printf("andian is %d",max);

  else 

   printf("no andian");

}

已经编译通过。你的错误是:

①if(max==min)其中为==并不是=;

②最后少一个大括号,否则程序不完整,无法结束。