开辟一个二维数组,有10*8个元素,用随机数填充,按照下面的方法用函数实现查找一个数是否存在

来源:互联网 发布:京瓷网络扫描设置 编辑:程序博客网 时间:2024/05/01 17:48

题目:开辟一个二维数组,有10*8个元素,用随机数填充,按照下面的方法用函数实现查找一个数是否存在。

具体实现如下:

#include <stdlib.h>#include <stdio.h>#include <time.h>int find(int * pInput, int nLen, int nKey, int * pOut){if (!pInput){return 0;}if (!pOut){return 0;}int * pCurPos = pInput;int * pEndPos = pInput + nLen;*pOut = 0;while (pCurPos < pEndPos){if (*pCurPos == nKey){*pOut = 1;break;}pCurPos++;}return 1;}int main(){int * p = (int *)malloc(sizeof(int)* 10);if (!p){printf("内存分配失败.\n");return 0;}int i = 0;srand(time(NULL));for (i = 0; i < 10; i++){p[i] = rand() % 10;}printf("数组元素:\n");for (i = 0; i < 10; i++){printf("%d", p[i]);}printf("\n");int nTemp = 0;int nFind = 0;printf("请输人要查询的数据:\n");scanf("%d", &nTemp);if (find(p, 10, nTemp, &nFind) == 0){printf("查询失败.\n");}else{if (nFind == 0){printf("未找到元素:%d\n", nTemp);}else{printf("已经找到元素:%d\n", nTemp);}}if (p){free(p);}system("pause");return 0;}
运行效果如图1所示:

图1 运行效果

0 0
原创粉丝点击