C语言查找函数

Python014

C语言查找函数,第1张

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。

其次,传值和传地址一塌糊涂,完全就是乱写么。

scanf的第二个参数是地址,如果本身不是指针则需要取址符。

我给你重写了算了

#include<stdio.h>

int Retrieve(int array[],int length,int x)/*形参x直接传值就可以了*/

int main()

{

int *a,x

int length,i

scanf("%d",&length)

a = (int)malloc(sizeof(int)*length)/*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

用数组来解决最简单方便,自己参考一下吧

#include <stdio.h>

int main()

{

char ch

int i,j,BQ

char * k1[3][4]={

{"0","0.1","0.2-0.3" ,"0.4-0.6"} ,

{"0.1" ,"0.2-0.3","0.4-0.6","0.7-0.9"} ,

{"0.2","0.4-0.6","0.7-0.9","1.0"} ,

}

printf("地下水状态说明:\n")

printf("0-潮湿或点滴状出水\n" )

printf("1-淋雨状或涌流状出水,水压<=0.1MPa或单位出水量<=10L/min\n")

printf("2-淋雨状或涌流状出水,水压>0.1MPa或单位出水量>10L/min\n")

printf("请选择地下水状态[0-2]:")

do {

scanf("%c",&ch )getchar()

} while ( ch >'2' || ch<'0' )

i=ch-'0'

printf("请输入BQ值:")

scanf("%d" , &BQ )

if ( BQ >450 ) j=0 //题目中写的有问题,应该是>450,不是451

else if ( BQ >350 ) j=1

else if ( BQ >250 ) j=2

else j=3

printf("K1=%s\n" , k1[i][j] )

system("pause")

return 0

}

查表是数据结构中的一个概念。查表的前提是先建表。

在C语言实现中,建表也就是将一系列的数据,或者有原始数据中提取出的特征值,存储到一定的数据结构中,如数组或链表中。

查表的时候,就是对数组或链表查询的过程。常用的方式有如下几种:

1 对于有序数组,可以采用折半查找的方式快速查询。

2 对于链表,可以根据链表的构建方式,进行针对性查询算法的编写。

3 大多数情况,可以通过遍历的方式进行查表。即从第一个元素开始,一直顺序查询到最后一个元素,逐一对比。