首页 > 编程语言 > 详细

C语言程序,找出一个二维数组的鞍点。

时间:2017-01-28 10:45:42      阅读:284      评论:0      收藏:0      [点我收藏+]

什么是鞍点?????

鞍点就是在一个二维数组中,某一个数在该行中最大,然而其在该列中又是最小的数,这样的数称为鞍点。

昨天突然在书上看到这样的一道题,就自己尝试着写了一个找出一个二维数组中的鞍点。

好了,废话不多说,代码奉上。。。。。。。。。。。。

 1 /*这个程序检测的是一个二维数组中是否存在鞍点,
 2 所谓的鞍点即是在这个二维数组中,某一个位置上的
 3 元素在该行上最大,该列上最小*/
 4 #include<stdio.h>
 5 #define M 3
 6 #define N 3    //定义行和列的大小
 7 
 8 int main()
 9 {
10     int a[M][N];
11     int i, j;
12     int temp = 1, temp1[M], temp2[N];
13     printf("请根据提示输入二维数组。\n");
14     //输入数组
15     for (i = 0;i<M;i++)
16         for (j = 0;j < N;j++)
17         {
18             printf("a[%d][%d]=", i, j);
19             scanf_s("%d", &a[i][j]);
20         }
21     //输出数组
22     for (i = 0;i < M;i++)
23     {
24         for (j = 0;j < N;j++)
25             printf("%d\t", a[i][j]);
26         printf("\n");
27     }
28     //处理数组
29     for (i = 0;i < M;i++)
30     {
31         temp1[i] = a[i][0];    //给每行的最大值赋一个初始值
32         temp2[i] = a[0][i];    //给每列的最小值赋一个初始值
33         for (j = 0;j < N;j++)
34         {
35             if (temp1[i] < a[i][j])    temp1[i] = a[i][j];
36             if (temp2[i] > a[j][i])    temp2[i] = a[j][i];
37         }
38     }
39     for (i = 0;i < M;i++)
40     {
41         for (j = 0;j < N;j++)
42         {
43             if (a[i][j] == temp1[i] && a[i][j] == temp2[j])
44                 printf("这个二维数组的鞍点为%d\n", a[i][j]);
45             else
46                 temp = 0;
47 
48         }
49     }
50     if (temp == 0)
51         printf("这个数组中没有鞍点.\n");
52 }

还是一样的话,弄上本代码是为了和大家一起交流学习。

如果有问题,请大家加我的QQ号:1511426768.。。。。。。

欢迎大家的讨论和提问。

C语言程序,找出一个二维数组的鞍点。

原文:http://www.cnblogs.com/livekeys/p/6354147.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!