网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下说明和C程序,将应填入(n)处。

[说明]

某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表1)。该表粗略地描述了曲线Ratio(temp)。

校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,人们需要用更多的列表值细致地描述曲线K(temp),如表2所示。在表2中,各温度值所对应的K值是对表1进行线性插值再求倒数得到的,具体的计算方法如下:

1.根据temp值,在表1中用二分法查找;

2.若找到相应的温度值,则按相应的Ratio值求倒数得到K值:

3.若没找到相应的温度值,则可确定temp所在的温度区间[Tp1, Tp2],同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:

Step=(Ratlo1-Ratio2)/(Tp1-Tp2)

K=1.0/(Ratio1+Step*(temp-Tp1))

在程序中,当temp高于50℃或低于-40℃时,设定K=0。

[程序]

include <stdio.h>

typedef struct {

int Temp; /*环境温度*/

double Ratio; /*传感器的输出值*/

}CURVE;

define ITEMS 7

double GetK(int, CURVE*, int);

void main()

{

int Degree;

double k;

CURVE Curve[ITEMS]={ {-40,0.2},{-20,0.60},{-10,0.8},{0,1,0},

{10,1.17},{30,1.50}, {50,1.8} };

printf("环境温度 校正系数\n");

for( Degree= 40; Degree<=50; Degree++){

k=GetK(Degree, Curve, ITEMS);

printf(" %3d %4.2f\n",Degree,k);

}

}

double GetK(int Temp, CURVE *p, int n)

{/*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/

int low,high,m; double Step;

low=0; high=n-1;

if((Temp<p->Temp) ||( Temp>(p+high)->Temp))

return 0.0; /*超出温度范围时返回0.0*/

while (low<=high){

m=(1) ;

if(Temp==(p+m)->Temp)

return (2);

if (Temp<(p+m)->Temp)high=m-1;

else low=(3);

}

p+= high;

Step=((4))/((p+1)->Temp-p->Temp);

return 1.0/(p->Ratio +Step *((5)));

}


参考答案

更多 “ 阅读以下说明和C程序,将应填入(n)处。[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表1)。该表粗略地描述了曲线Ratio(temp)。校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,人们需要用更多的列表值细致地描述曲线K(temp),如表2所示。在表2中,各温度值所对应的K值是对表1进行线性插值再求倒数得到的,具体的计算方法如下:1.根据temp值,在表1中用二分法查找;2.若找到相应的温度值,则按相应的Ratio值求倒数得到K值:3.若没找到相应的温度值,则可确定temp所在的温度区间[Tp1, Tp2],同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:Step=(Ratlo1-Ratio2)/(Tp1-Tp2)K=1.0/(Ratio1+Step*(temp-Tp1))在程序中,当temp高于50℃或低于-40℃时,设定K=0。[程序]include <stdio.h>typedef struct {int Temp; /*环境温度*/double Ratio; /*传感器的输出值*/}CURVE;define ITEMS 7double GetK(int, CURVE*, int);void main(){int Degree;double k;CURVE Curve[ITEMS]={ {-40,0.2},{-20,0.60},{-10,0.8},{0,1,0},{10,1.17},{30,1.50}, {50,1.8} };printf("环境温度 校正系数\n");for( Degree= 40; Degree<=50; Degree++){k=GetK(Degree, Curve, ITEMS);printf(" %3d %4.2f\n",Degree,k);}}double GetK(int Temp, CURVE *p, int n){/*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/int low,high,m; double Step;low=0; high=n-1;if((Temp<p->Temp) ||( Temp>(p+high)->Temp))return 0.0; /*超出温度范围时返回0.0*/while (low<=high){m=(1) ;if(Temp==(p+m)->Temp)return (2);if (Temp<(p+m)->Temp)high=m-1;else low=(3);}p+= high;Step=((4))/((p+1)->Temp-p->Temp);return 1.0/(p->Ratio +Step *((5)));} ” 相关考题
考题 ●试题四阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。【函数】void QuickSort(int A[],int s,int t){int i=s,j=t+1,temp;int x=A[s];do{do i++;while (1) ;do j--;while(A[j]x);if(ij){temp=A[i]; (2) ; (3) ;}}while(ij);A[a]=A[j];A[j]=x;if(si-1) (4) ;if(j+1t) (5) ;}

考题 阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明]编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。[Java 代码]import java. io.* ;public class abc{public static void main ((1)){int i, n=10, max=0, min=0, temp=0;try {BufferedReader br = new BufferedReader (new InputStreamReader ( System.in ) );max = min =Integer. parselnt ( br. readLine ( ) );}. (2) ( IOExccption e ) {} ;for ( i=2 ; i<=n ; i++ ) {try {BufferedReader br = new (3) (new InputStreamReader ( System. in ) );temp =(4) ( br. readLine ( ));if (temp>max ) max=temp;if (temp<min) (5)} catch (IOException e ) {};}System.out.println ( "max="+max+"\nmin="+min );}}

考题 阅读以下说明和Java码,将应填入(n)处的字名写在对应栏内。[说明] 编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。import java. io. * ;public class abc{public static void main(String args [ ] ){ int i, n = 10 , max = 0 , min = 0 , temp = 0;try {BufferedReader br = new BufferedReader(new InputStreamReader( System. in) );(1));} catch ( IOException e ) { } ;for(i = 2 ;i <= n; i ++ ) {try {BufferedReader br = new BufferedReader(new InputStreamReader (System. in) );temp = Integer. parselnt(br. readLine( ) );if ( temp > max ) (2)if (temp < min) (3)} catch ( IOExeeption e ) { } ;System. out. println( "max =" + max + "\nmin =" + min);}}

考题 阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。【函数】void QuickSort( int A[ ],int s,int t){ int i=s,j=t+1,temp;int x=A[s];do{do i ++ ;while (1);do j -- ;while(A[j]>x);if(i<j){temp=A[i];(2);(3);}}while(i<j);A[a] =A[j];A[j] =x;if(s<i-1) (4);if(j+1<t) (5);}

考题 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序为求行列式X(5,5)的值S。【Visual Basic代码】Private Function col ( byval x ( 5,5 ) as integer ) as longdim fesult as longdim temp as longdim I as integerdim j as integerdim k as imegerresult = 0for I = to 5(1)for j = 1 to 5if I+j>6 thenk= ( 1+j ) mod 5elsek=1endiftemp=temp*x ( k,j )(2)result=(3)(4)(5)End function

考题 阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。【说明】本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:1 16 15 14 132 17 24 23 123 18 25 22 114 19 20 21 105 6 7 8 9【C++代码】include"stdio.h"include"iostream,h"int array[11][11];int temp;int ROW;void godown(int m,int a){for(temp=1; temp<=ROW;temp++)if(array[temp][a]==0)array[temp][a]=(1);a++;}void goright(int m,int b){for(temp=1;temp<=ROW;temp++)if(array[b][temp]==0)array[b][temp]=m++;b--;}void goup(int m.int c){for(temp=ROW;temp>0;temp-)if(array[temp][c]==0)array[temp][c]=m++;c--;}void goleft(int m,int d){for(temp=ROW;temp>0;temp--)if(array[d][temp]==0)array[d][temp]=m++;(2);}void main(){int a,b,c,d,max,m;cin>>ROW;cout>>end1;for(a=1;a<=ROW;a++)for(b=1;b<=ROW;b++)(3);m=1;a=d=1;b=c=ROW;max=(4);whiie(m<=max){godown(m,a);(5) (m,b);goup(m,c);goleft(m,d):}for(a=1;a<=ROW;a++){for(b=1;b<=ROW;b++)printf("%3d ",array[a][b]);cout<<end1;}}

考题 阅读以下技术说明和C代码,将C程序中(1)~(5)空缺处的内容填写完整。[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),已经测量得到了相应的Ratio值(如表4-10表格所示)。表4-10粗略地描述了曲线Ratio(temp)。校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,需要用更多的列表值细致地描述曲线K(temp),如表4-11所示。在表4-11中,各温度值所对应的K值是对表4-10进行线性插值再求倒数得到的,具体的计算方法如下。1) 根据temp值,在表4-10中用二分法查找;2) 若找到相应的温度值,则按相应的Ratio值求倒数得到K值;3) 若没找到相应的温度值,则可确定temp所在的温度区间[Tp1,Tp2],同时获得了相应的Ratio1和 Ratio2,再按如下公式计算K值:在程序中,当temp高于50℃或低于-40℃C时,设定K=0。[C程序]includetypedef struct {int Temp; /* 环境温度 */double Ratio; /* 传感器的输出值 */}CURVE;define ITEMS 7double GetK(int Temp,CURVE *p,int n){ /* 用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值 */int low, high, m;double Step;low = 0;high = n-1;if ((Temp<p->Temp) || (Temp>(p+high)->Temp))return 0.0; /* 超出温度范围时返回 0.0 */while (low<=high){ m=(1);if (Temp==(p+m)->Temp)return (2);if (Temp<(p+m) >Temp)high=m-1;elselow=(3);}p+=high;Step=( (4) )/((p+1)->Temp-p->Temp);return 1.0/ (p->Ratio + Step*( (5) ) ;}void main(){ int Degree;double k;CURVE Curve [ITEMS]={{-40,0.2},{-20,0.60.},{-10,0.8},{0,1.0},{10,1.17},{30,1.50},{50,1.8}};printf ("环境温度 校正系数\n");for (Degree=-40;Degree<=50;Degree++){ k=GetK ( Degree, Curve, ITEMS);printf("%3d %4.2f\n",Degree,k);}}

考题 ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]设有定义 #define ITEM struct item #define SIZE sizeof(ITEM) ITEM { int num; ITEM *next; }; ITEM *head=NULL; 下述函数定义实现按插表尾形式(即每一新表元素插入至当前所生成链表的表尾之后)生成一个正向线性链表。最后指向所生成链表表头的指针作为函数值返回。为生成一个线性链表,要求输入一批整型数据,并以-1作为结束标志。请填空完善程序。 ITEM *gene(ITEM *head) { ITEM *temp,*tail;/*tail指向当前链表尾结点*/ int intno; printf("Enter integer NO.,-1 to stop:\n"); scanf("%d",intno); while (intno!=-1) { temp=(____(1)_____)malloc(SIZE); temp-num=intno; if (head==_____(2)_____) /*空表*/ { head=temp; tail=______(3)______; } else /*非空表*/ { ____(4)_______=temp; tail=temp; } scanf("%d",intno); } return (_______(5)_______);

考题 定义temp为一个uint8_t变量,设定temp=0x01,执行temp<<n的操作,请问当n=1,temp的值为0x()