鱼C论坛

 找回密码
 立即注册
查看: 2560|回复: 1

关于鞍点问题

[复制链接]
发表于 2013-12-6 22:00:36 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 liwenhao96 于 2013-12-6 22:03 编辑

3行4列的矩阵,编出了这个,求修改。。。 360截图20131206220302192.jpg
#include <stdio.h>
void main()
{
int i,j,k,t=0,flag=0,m,n,a[3][4],max,min;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
max=a[i][0];
for(j=0;j<4;j++)
if(max<a[i][j])
{max=a[i][j];m=i;n=j;}
for(k=0;k<3;k++)
{min=a[m][n];
if(min>a[k][n])
flag=1;
}
if(flag==0)
{t=1;printf("%d\n",a[m][n]);}
flag=0;
}
if(t==0)printf("NO");
}

最佳答案

查看完整内容

#include int max1(int a,int b,int c,int d); int min1(int a,int b,int c,int d); void main() { int i,j,t=0,flag; int a[4][4]; /****************************输入矩阵*****************************/ for (i=0;i
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-6 22:00:37 | 显示全部楼层
#include <stdio.h>
int max1(int a,int b,int c,int d);
int min1(int a,int b,int c,int d);
void main()
{
        int i,j,t=0,flag;
        int a[4][4];
        /****************************输入矩阵*****************************/
        for (i=0;i<4;i++)
        {
                for (j=0;j<4;j++)
                {
                        scanf("%d",&a[i][j]);
                }
        }
        /****************************输出矩阵*****************************/
        for (i=0;i<4;i++)
        {
                for (j=0;j<4;j++)
                {
                        printf("%d\t",a[i][j]);
                }
                printf("\n");
        }
        /****************************判断鞍点****************************/
        for (i=0;i<4;i++)
        {
                for (j=0;j<4;j++)
                {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
                        if (a[i][j]==max1(a[i][0],a[i][1],a[i][2],a[i][3]))//当前数是不是本行三者中最大的
                        {
                                for(i=0;i<4;i++)
                                {
                                        if (a[i][j]==min1(a[0][j],a[1][j],a[2][j],a[3][j]))//当前数是不是本咧中最小的
                                        {
                                                flag=1;
                                                t++;
                                                printf("第%d行%d列是本矩阵的鞍点!",i+1,j+1);
                                        }
                                }
                        }
                }
                //找到第一行的最大的数
               
        }
        if (t==0)
        {
                printf("本矩阵中没有鞍点!\n");
        }
        else
        {
                printf("本矩阵中共有%d个鞍点!\n",t);
        }
}
int max1(int a,int b,int c,int d)//求三个数的最大值
{       
        int max;
        max=a>b?a:b;
        if (max<c)
        {
                max=c;
        }
        if (max<d)
        {
                max=d;
        }
        return max;
}
int min1(int a,int b,int c,int d)//求三个数的最小值
{
        int min;
        min=a<b?a:b;
        if (min>c)
        {
                min=c;
        }
        if (min>d)
        {
                min=d;
        }
        return min;
}

这是我按自己的思路写的,不知道有用没有?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 15:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表