Linux C下的马鞍数程序
2016-03-23 19:24
531 查看
马鞍数—》每行最小,每列最大
解题的思路:
1.先用数组保存每一行最小的数,利用数组保存每一列最大的数
2.通过比较行、列之间最大最小数是否相等,如果相等,那么就可以认为这个二维数组有马鞍数,否则没有
解题的思路:
1.先用数组保存每一行最小的数,利用数组保存每一列最大的数
2.通过比较行、列之间最大最小数是否相等,如果相等,那么就可以认为这个二维数组有马鞍数,否则没有
/***************************************** FileName:/mnt/hgfs/share/homework/saddle.c Author: E_mail:469139522@qq.com 2016-03-22 05:16 *****************************************/ #include <stdio.h> int main(int argc,char **agrv) { int a[3][4]; int i,j; int temp=0,count=0; int b[3],c[4]; int min,max; printf("enter number:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } printf("\n"); for(i=0;i<3;i++)//找行最小的 { min=a[i][0]; for(j=1;j<4;j++) { min=min<a[i][j]?min:a[i][j]; } b[i]=min; } for(i=0;i<3;i++) { printf("Line[%d] min: %d\n",i,b[i]); } printf("\n"); for(j=0;j<4;j++)//找出列最大的 { max=a[0][j]; for(i=0;i<3;i++) { max=max>a[i][j]?max:a[i][j]; } c[j]=max; } for(j=0;j<4;j++) { printf("List[%d] max: %d\n",j,c[j]); } //行列进行比较 printf("\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) { if(b[i]==c[j]) { count++; printf("saddle %d: %d\n",count,b[i]); printf("Line: %d List: %d\nCoordinate: a[%d][%d]\n\n",i,j,i,j); temp=1; } } } if(temp==0) { printf("There is not a saddle number!\n"); } return 0; }
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 如何组织构建多文件 C 语言程序(二)
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程