原创 习题 6.8 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

原创 习题 6.8 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

                                                                                                                                                            2017-08-30 21:04:15
                Navigator_Z
                阅读数 9122
                
                    
                        
                    
                    收藏
                更多
                                                                                                            
                            分类专栏:
                                                                                                        
                                        C程序设计 (第四版) 谭浩强 课后答案                                        
                                                                                            
                                    
            
                                
        
    


    
            
             
                                        
            
                
                
                
                    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                    
                
                    本文链接:https://blog.csdn.net/navicheung/article/details/77725609
                
            
                
            
                                                
         
         
        
                                    
                
                
                                        C程序设计(第四版) 谭浩强 习题6.8 个人设计

习题6.8 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

代码块

方法1:

#include <stdio.h>
int main()
{
int a[3][3];
int i, j, k, p, q, max, min;
for (i=0; i<3; i++){
for (j=0; j<3; j++)
scanf("%d", &a[i][j]); //输入数组
}
for (i=0; i<3; i++){
for (j=0, max=0, p=0; j<3; j++){ //判断出该行元素的最大值
if (a[i][j]>max){
max=a[i][j];
p=j;
}
else{
max=max;
p=p;
}
}
for (k=0, min=a[i][p], q=i; k<3; k++){ //判断最大值在该列是否为最小值
if (a[k][p]<min){
min=a[k][p];
q=k;
}
else{
min=min;
q=q;
}
}
if (iq){
printf("%d is the saddle point!\n", a[i][p]); //如果该最大值行号没有改变,输出鞍点
break;
}
}
if (i
3 && i!=q)
printf(“There is no saddle point!\n”); //输出没有鞍点
return 0;
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值