国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言二維數組中的查找的實例

2020-01-26 14:00:56
字體:
來源:轉載
供稿:網友

C語言二維數組中的查找的實例

題目描述:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數

思路描述:一個數字的下方和右方是比它本身大的區域,而左方和上方時比它本身小的區域。選取右上角的數字進行比較,當該數大于指定的數時,舍去該列,當該數小于指定的數時,舍去該行,當相等時,則表示找到

C語言實現:

#include<stdio.h>#include<stdlib.h>typedef unsigned int boolean;#define MAX 4#define TRUE 1#define FALSE -1void showAry(int ary[MAX][MAX]);boolean find(int ary[MAX][MAX], int rows, int cols, int number);void showAry(int ary[MAX][MAX]) {  int i = 0, j = 0;  for(; i < MAX; i++) {    j = 0;    for(; j < MAX; j++) {      printf("%d ", ary[i][j]);    }  }}boolean find(int ary[MAX][MAX], int rows, int cols, int number) {  int i = 0,     j = cols - 1,    n = 0;  boolean result = FALSE;  if(ary == NULL || rows <= 0 || cols <= 0) {    return result;  }  while(i < rows && j >= 0) {    n = ary[i][j];    if(number == n) {      printf("/nary[%d, %d] = %d/n", i, j, n);      result = TRUE;      break;     }else if(number < n) {      j -= 1;     }else if(number > n) {      i += 1;    }  }  return result;}//1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15int main() {  int ary[MAX][MAX];  int i = 0, j = 0;  for(; i < MAX; i++) {    j = 0;    for(; j < MAX; j++) {      scanf("%d", &ary[i][j]);    }  }  showAry(ary);  find(ary, MAX, MAX, 7);}

以上就是講解C語言二維數組中的查找的實例,希望能幫助需要同類型問題的朋友,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 丰宁| 格尔木市| 富宁县| 辰溪县| 专栏| 汽车| 类乌齐县| 宣武区| 兴安盟| 霸州市| 淳化县| 铜陵市| 漠河县| 鄂州市| 云安县| 沁源县| 镇安县| 唐河县| 阳原县| 渭源县| 科技| 永修县| 荆州市| 富顺县| 神池县| 金华市| 东光县| 宁阳县| 常德市| 新郑市| 莱西市| 马边| 新巴尔虎右旗| 定南县| 竹山县| 北川| 田阳县| 舒城县| 巩留县| 姜堰市| 蒙山县|