复杂c语⾔程序编程,较复杂的c语⾔程序设计源代码⽤户提问
较长的,但不要太专业
推荐答案
这个⼀个求鞍点的
#include
#define MAX 100
int main()
{
int a[MAX][MAX], m, n, i, j, max, maxj, flag, k;
printf("请输⼊⾏数 列数(以空格分隔):\n");
scanf("%d %d", &m, &n);
printf("请输⼊%d个数:\n", m * n);
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%d", &a[i][j]);
printf("整理:\n");
for(i=0;i
{
for(j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
for (i = 0; i < m; i++)
{
max=a[i][0]; /*开始时假设a[i][0]最⼤*/
maxj=0; /*将列号0赋给maxj保存*/
for(j=0;j
if(a[i][j]>max)
{
max=a[i][j]; /*将本⾏的最⼤数存放在max中*/
maxj=j; /*将最⼤数所在的列号存放在maxj中*/
}
flag=1; /*先假是鞍点,以flag为1代表*/
for(k=0;k
if(max>a[k][maxj]) /*将最⼤数和其同列元素⽐较*/
{
flag=0; /*如果max不是同列最⼩,表⽰不是鞍点,令flag为0*/ break;
}
if(flag) /*如果flag为1表⽰是鞍点*/
{
printf("数组有鞍点:a[%d][%d]=%d\n",i+1,maxj+1,max);
/*输出鞍点的值 和所在的⾏,列号*/
厉害的编程代码break;
}
}
if (!flag)
printf("数组没有鞍点!\n");
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。