大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
查表是数据结构中的一个概念。查表的前提是先建表。
创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:成都网站建设、成都做网站、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
在C语言实现中,建表也就是将一系列的数据,或者有原始数据中提取出的特征值,存储到一定的数据结构中,如数组或链表中。
查表的时候,就是对数组或链表查询的过程。常用的方式有如下几种:
1 对于有序数组,可以采用折半查找的方式快速查询。
2 对于链表,可以根据链表的构建方式,进行针对性查询算法的编写。
3 大多数情况,可以通过遍历的方式进行查表。即从第一个元素开始,一直顺序查询到最后一个元素,逐一对比。
用数组来解决最简单方便,自己参考一下吧
#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;
}
#includevoidmain(){inta[10]={9,16,25,32,2,1,29,81,36,21};intkey,low=0,high=10-1,mid,k=-1;inti,j,t;printf("pleaseinput:");scanf("%d",key);for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}while(low=high){mid=(low+high)/2;if(a[mid]==key){k=mid;break;}elseif(a[mid]
#include "stdio.h"
void main()
{
float a[10] = {29.4,33.3,37.2,41.4,45.8,50.4,55.2,60.2,65.6};
int b,c;
printf("请输入温度: ");
scanf("%d",b);
if(b%10!=0||b0||b80)
{
printf("输入错误");
}
else
{
c=b/10;
printf("温度是: %.1f",a[c]);
}
}
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
scanf的第二个参数是地址,如果本身不是指针则需要取址符。
我给你重写了算了
#includestdio.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); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/