硝酸生产工

对比值系数折算正确的是()。A、K=I从Q从max/I主Q主maxB、K=I主Q主max/I从Q从maxC、K′=KQ主max/Q从maxD、K′=KQ从max/Q主max

题目

对比值系数折算正确的是()。

  • A、K=IQ从max/IQ主max
  • B、K=IQ主max/IQ从max
  • C、K′=KQ主max/Q从max
  • D、K′=KQ从max/Q主max
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 31 )某人编写了一个能够返回数组 a 中 10 个数中最大数的函数过程,代码如下:

Function MaxValue(a() As Integer) As Integer

Dim max%

max=1

For k = 2 To 10

If a(k)>a(max) Then

max = k

End If

Next k

MaxValue = max

End Function

程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是

A )语句 max = 1 应改为 max = a(1)

B )语句 For k = 2 To 10 应改为 For k = 1 To 10

C ) If 语句中的条件 a(k)>a(max) 应改为 a(k)>max

D )语句 MaxValue = max 应改为 MaxValue = a(max)


正确答案:D

第2题:

以下程序运行后的输出结果【 】。

struct NODE

{int k;

struct NODE *link;

};

main()

{structNODEm[5],*p=m,*q=m+4;

int i=0;

while(p!=q){

p->k=++i;p++;

q->k=i++;q-;

}

q->k=i;

for(i=0;i<5;i++)printf("%d",m[i].k);

printf("\n");

}


正确答案:13431
13431 解析:程序执行过程如下:
p=m,q=m+4,条件9!=q成立,执行p->k=++i;,由于是“前加”,所以m[0].k=1,执行p++后p=m+1;执行q->k=i++;,由于是“后加”,所以m[4].k=1,然后使得i加上1,即i=2,q-后,q=m+3: p=m+1,q=m+3,条件p!=q成立,执行p->k=++i;,由于是“前加”,所以i=3,m[0].k=3,执行p++后p=m+2:执行 p->k=++i;,由于是“后加”,所以m[4].k=3,i=4,q-后,q=m+2; p=m+2,q=m+2,条件p!=q不成立,则执行p->k=i;即m[2].k-4;故输出的值为13431。

第3题:

●试题四

【说明】

下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。

例如:若输入

2857848328

则应输出

The max:8

Total:4∥最大数出现次数

The positions:1469

【函数】

#include<stdio.h>

#define M 10

int fun(int*a,int*n,int pos[])

{

int i,k max=-32767;

(1)

for(i=0;i<M;i++)

if( (2) )max=a[i];

for(i=0;i<M;i++)

if( (3) )pos[k++]=i;

*n=k;

return max;

}

main()

{

int a[M],pos[M],i=0,j,n;

printf("Enter 10 number:");

for(i=0;i<M;i++)scanf("%d", (4) );

j=fun( (5) );

printf("The max:%d\n",j);

printf("Total:%d",n);

printf("The position:");

for(i=0;i<n;i++)printf("%4d",pos[i]);

printf("\n");

}


正确答案:

●试题四

【答案】(1)k=0(2)ai>max(3)ai=max(4)a+i或&ai(5)a&npos

【解析】先分析(4)(5)空。(4)空所在语句是从键盘中读入数据并存放在数组a[]之中,循环变量为I(4)空处应填写存放地址,循环变量有两种表示方法,一种是"a+i",另一种是"&ai"。(5)空处需要填写调用函数fun()的实参,从函数fun()的形参可以看出,第1个参数是要处理的数组a[],第2个参数要返回的最大元素的个数n,第3个参数最大元素的下标数组pos[]。因此(5)空处应填写"a&npos"。

再来分析(1)(3)空。(1)(3)空所在函数是找最大数,并将其下标存放在数组pos[]中,其实现的思路是先遍历一次数组,从数组中找出最大数max,再将遍历一次数组,依次将这些最大数的下标存放在数组pos[]中。(2)空所在的循环就是找最大数max,因此(2)空处应填写"ai>max"。(3)空所在的循环是将这些最大数的下标存放在数组pos[]中,因此(3)空处应填写"ai==max"。(1)空应填写什么呢?从语句"posk++]=i"和"*n=k"可知,变量k是用来指出当前要存放在数组pos[]中的位置,但这个变量要进行初始化,因此(1)空处应填写"k=0"。

 

第4题:

下列给定程序中,函数fun()的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun()函数之前给字符串输入ABCDeFGH,调用后字符串中的内容为 eABCDFGH。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

/***************found************/

fun(char *p)

{ char max, *q;int i=0;

max=p[i];

while (p[i]!=0)

{if (max<p[i])

{

/***************found************/

p = q +i;max=p[i];

}

i++;

}

/***************found************/

while (q<p)

{*q=*(q-1);

q--;

}

p[0]=max;

}

main()

{ char str[80];

printf("Enter a string: "); gets(str);

printf("\nThe original string: ");

puts(str);

fun(str);

printf("\nThe string after moving: ");

puts(str); printf("\n\n");

}


正确答案:(1)错误:fun(char*p) 正确:void fun(char*p) (2) 错误:p=q+i; 正确:q=p+i; (3) 错误:while(qp) 正确:while(q>p)
(1)错误:fun(char*p) 正确:void fun(char*p) (2) 错误:p=q+i; 正确:q=p+i; (3) 错误:while(qp) 正确:while(q>p) 解析:本题解答需要3个步骤:
(1) 找到字符串中ASCII码值最大的字符,并保存。
(2) 将该字符复制,并将该字符前面的字符串顺次后移。
(3) 将ASCII码值最大的字符赋给字符串的第1个字符。找到ASCII码值最大的字符可以通过定义一个字符max,该字符初始时等于字符串的第1个字符,若字符串的下一个字符大于max,则将下一个字符赋给max,如此循环到字符尾,即可得到 ASCII码值最大的字符,同时令指针q指向最大字符。之后对最大字符前面的子串顺次后移,可采用while语句实现。
此题需要熟练掌握和灵活应用C语言的字符与整型变量的关系以及字符串操作。

第5题:

状态变量的约束条件为()。

A、PGi,min≤PGi≤PGi,max

B、QGi,min≤QGi≤QGi,max

C、Ui,min≤Ui≤Ui,max

D、|δi-δj|≤|δi-δj|max


正确答案:CD

第6题:

下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。

#include<stdlib.h>

#include<stdio.h>

void fun(int a[],int n, int *max, int *d)

{ int i;

*max=a[0];

*d=0;

for(i=0;【15】;i++)

if(*max<【16】)

{*max=a[i];*d=i;}

}

main()

{ int i, x[20], max, index, n=10;

randomize();

for(i=0;i<n;i++)

{

x[i]=rand()%50; printf("%4d",x[i]);

}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);

}


正确答案:
i<n;a[i]

第7题:

本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }


正确答案:max>0
max>0 解析:本题是典型的冒泡排序题,每一次for循环将从数组a中找出剩下数中的最大的值放在这些数的最前端,若数组a中有n个数,则完成数组排序共需n-1次循环。令max=n-1,每次循环后i值增1,imax条件不足,即n-1次循环后,此时i=j=max=0,循环结束。

第8题:

以下程序的运行结果是【6】。

#define MAX (a,b)(a>b?a:b)+1

main ()

{ int i=6,j=8,k;

printf ("%d\n",MAX(i,j));

}


正确答案:
9

第9题:

请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为0时结束。

例如,输入1,2,3,5,4,0时,最大的数为5。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写出的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

define N 100

main()

{

int num[N];

int i=-1;

int max=0;

clrscr();

printf("\nInput integer number:\n");

do

{

i++;

printf("num[%d]=",i);

scanf("%d",【 】);

max=【 】num[i]:max;

}while (【 】);

printf("max=%dkn",max);

}


正确答案:&num[i] maxnum[i]? num[i]!=0
&num[i] maxnum[i]? num[i]!=0 解析:第一空:注意掌握标准输入函数scanf()的调用格式,输入参数列表中变量前面要使用求址运算符&。第二空:注意掌握条件表达式的用法,当输入的数比最大值大时,则认为此输入的数为最大值,否则最大值不变。第三空:题目要求输入的整数以0结束,所以,当输入的数不为0时,继续do—while循环,否则终止循环。

第10题:

某人编写了下列程序,用来求10个整数(整数从键盘输入)中的最大值: Private Sub Command1_Click() Dim a(10) As Integer, max As Integer For k=1 To 10 a(k)=InputBox("输入一个整数") Next k max=0 For k=1 To 10 If a(k)>max Then max=a(k) End If Next k Print max End Sub 运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的。程序需要修改。下列修改中可以得到正确运行结果的是( )。

A.把Ifa(k)>max Then 改为 If a(k)<max Then

B.把max=a(k)改为a(k)=max

C.把第2个循环语句For k=1 To 10改为For k=2 To 10

D.把max=O改为max=a(10)


正确答案:D
解析:本题考查的考点是有关循环和数组的。本题为了实现求取最大值,首先应该假设数组中的某一个数就是最大值,再依次与数组元素比较,一旦某个元素比当前的最大值大,就把它作为新的最大值。max初值设为。是不可以的,它没有考虑到数组元素都小于0的情况。

更多相关问题