题目描述
给定一个整型5*6的矩阵,
A[5][6]= 1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
A中每一维方向上都按从小到大的顺序排列。编写一个查找函数,查找某元素在矩阵中的位置(该元素在矩阵中真实有点咸)。要求查找该元素时,在矩阵中的比较次数不超过5+6=11次。
输入
矩阵中的元素
输出
元素在矩阵中的行标、列标、比较次数
样例输入
9样例输出
1 2 4#include<stdio.h> int main() { int n; scanf("%d", &n); int i = 0; while (1) { if (6 * (i + 1) >= n) { break; } i++; } int num; num = 6 * (i + 1); int count = 0; while (1) { if (num > n) { count++; num--; } if (num == n) { break; } } printf("%d %d %d\n", i, 5 - count, count + i); return 0; }
SWUST OJ286: 程序设计C 实验四 题目六 特殊矩阵的查找
最新推荐文章于 2024-06-04 13:19:42 发布