使用函数完成以下功能,并得到一个完整的可以运行的程序:
1)定义两个数组,用来表示下列关系表:
水位 库容
112 5656
115 5954
113 5703
110 5500
111 5642
114 5841
2)将两个数组分别按从小到大排序
3)输入任意一个水位,计算对应库容
4)输入任意库容,计算水位
(注:使用插值法计算,比如水位输入112.6,首先查询到112和113米水位
对应的库容5656和5703,然后计算比例=112.6-112=0.6,最后结果就是0.6 * (5703-5656) + 5656)
#include "stdio.h"
//插入排序
void insertSort(int a[6]){
int i,temp,pos,k;
for(i=1;i<6;i++)
{
temp=a[i];
pos = i-1;
//把前面大于temp的数据往后移
while((pos>=0) && (temp<a[pos])){//后面的元素小于前面的元素
a[pos+1]=a[pos]; //后面一个元素等于前面一个元素的值
pos--;
}
//把temp的值插入到pos+1的位置
a[pos+1]=temp;
}
printf("排序之后:\n");
for(i=0;i<6;i++)
printf("%d\t",a[i]);
printf("\n");
}
int main()
{
int a[6] = {112,115,113,110,111,114};
int b[6] = {5656,5954,5703,5500,5642,5841};
int i,j,k,n;
float h,t1,t2,t3;
//排序
insertSort(a);
insertSort(b);
scanf("%f",&h);
n = (int)h;
for(i=0;i<6;i++){
if(a[i] == n){
t1 = b[i];
}
if(a[i] == (n+1)){
t2 = b[i];
}
}
t3 = (h-n)*(t2-t1) + t1;
printf("库容:%0.2f",t3);
return 0;
}