重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用数组来解决最简单方便,自己参考一下吧
卧龙ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
#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;
}
#includestdio.h
struct data
{int t;
float m;
};
struct data a[]={{0,29.4},{10,33.3},{20,37.2},{30,41.4},{40,45.8},{50,50.4},{60,55.2},{70,60.2},{80,65.6}};
void main()
{
int n,i;
scanf("%d",n);
for(i=0;i9;i++)
if(a[i].t==n)
{printf("%3.1f\n",a[i].m);
break;
}
}
这个简单~
希望对你能有所帮助。
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
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); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/