重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
条件函数IF的功能是()。
[单选题]

条件函数IF的功能是()。

A.返回某个区域内满足给定条件的所有单元格的平均值

B.返回一个数字在数字列表中的排位

C.判断是否满足某个条件,如果满足返回一个值,如果不满足返回另一个值。

D.对区域中符合指定条件的值求和

查看答案
更多“条件函数IF的功能是()。”相关的问题

第1题

●试题四

阅读下列函数说明,将应填入(n)处的字句写在答卷纸的对应栏内。

【函数1说明】

函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(bl,…,bn)均为顺序表,"比较",两个顺序表A和B的大小。设A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(y,x,x,z,x,z),B=(y,x,x,z,y,x,x,z),则两者中最大的共同前缀为(y,x,x,z),在两表中除去最大共同前缀后的子表分别为A′=(x,z)和B′=(y,x,x,z))。若A′=B′=空表,则A=B;若A′=空表,而B′≠空表,或者两者均不为空表,且A′的首元小于B'的首元,则A<B:否则A>B。

提示:算法的基本思想为:若相等,则j+l,之后继续比较后继元素;否则即可得出比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

【函数1】

int compare(SqListA,SqList B)

{

//若A<B,则返回-1;若A=B,则返回0:若A>B,则返回1

j=0;

while(i< (1) &&j<

B.length)

if(A.elem[j]<

B.elem[j])return(-1);

else if(A.elem[j]>

B.elem[j])return (1) ;

else (2) ;

if(A.length==

B.length)return(0);

else if(A.length<

B.length)return(-1);

else return (1) ;

}//compare

//函数1的时间复杂度是 (3) 。

【函数2说明】

函数exchange_L(SLink&L,int m)的功能是:用尽可能少的辅助空间将单链表中前m个结点和后n个结点的互换。即将单链表(a1,a2…,am,b1,b2,…,bn)改变成(b1,b2,…,bn,a1,a2,…,am)。

【函数2】

void exchange_L(SLink &L,int m)

{

if( (4) &&L->next)//链表不空且m!=0

{

P=L->next;k=1;

while(k<m&&p)//查找am所在结点

{

P= (5) ;++k;

}

if( (6) &&p->next)//n!=0时才需要修改指针

{

ha=L->next;//以指针ha记a1结点的位置

L->next=p->next;//将b1结点链接在头结点之后

p->next=NULL;//设am的后继为空

q= (7) ;//令q指向b1结点

while(q->next)q= (8) ;//查找bn结点

q->next= (9) ;//将a1结点链接到bn结点之后

}

}

}

//函数2的时间复杂度是 (10) 。

点击查看答案

第2题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

函数fun1 (int bb[])的功能是:在3位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,两位数字又相同,例如144、676等。

【函数2.11】

fun1 (int bb[])

{

int i, j, k=0, g, s, b;

for (i=100; i<=999; i++)

{

g=i%10;

(1)

b=i/100;

if ((i== (int) sqrt (i) * (int) sqrt (i)) && (g==s‖s==b‖b==g))

(2)

}

return k;

}

【函数2.2说明】

函数void fun2()的功能是:数组a中有300个四位数,求出数组a千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT,再把所有满足此条件的四位数依次存入数组bb中,然后对数组bb的四位数按小到大的顺序进行排序。例如:9123,9-1-2-3>0,则该数满足条件存入数组bb中,且个数CNT=CNT+1,9812,9-8-1-2<0,则该数不满足条件,忽略。

【函数2.2】

void fun2 ( )

{

int q,b,s,g,i,j;

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

{q=a[i]/1000;

b=a[i]/100%10;

s=a[i]/10%10;

g=a[i]%10;

if (q-b-s-g>0)

(3)

}

for ( i=0;i<cnt-1;i++ )

for ( j=i+1;j<cnt;j++ )

if ( bb[i]>bb[j] )

{ (4)

bb[i]=bb[j];

(5)

}

}

点击查看答案

第3题

请补充函数proc,该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入“abcabcabcab”,c=b时,b的输出为“abcabcaca”;如果str的输入为“abcabcabca”,则b的输出为“abcabcabca”。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅程函数prOC的横线上填入所编写的若干表达式或语句。 试题程序: include<stdlib.h> include<stdio.h> include<conio.h> define M 80 void proc(char str[],char b[],char c) { int i=0,j=0; int n=0: int m=0: while(str[i]!=\0) { if(str[i]==c) n++: i++: } 【1】 ; if(n%2) { while(str[j]!=\0 ) { b[j]=str[j]; j++; } b[j]=\0; } else { while(str[i]!=\0 ) { b[j++]=str[i]; if(str[i]==c) m++: if((m>n/2)&&(str[i]==c)) 【2】 ; i++: } 【3】 ; } } void main { char str[M],b[M]; char C; system("CLS"); printf("Enter the strin9:\n"); gets(str); printf("Enter the character of the string deleted:"): scanf("%C",&c); proc(str,b,c); printf("The new string is:%s\n",b); }

点击查看答案

第4题

阅读以下算法说明和C程序,根据要求回答问题1和问题2。

【说明】

【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出相应的提示信息,如图1-18所示。

在【算法4-1】中,slack为一整数栈。算法中各函数的说明如表1-11所示。

【算法4-1】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF)

k←kind(ch);

if (k ==(1) ) {

push( (2) );

push( (3) );}

else if( k ==(4) )

if(not empty()){

pop();

pop();)

else{

显示错误信息(缺少对应左括号或右括号):

显示行号row:显示列号col:)

End if

End if

Ch<-nextch();

end while

if(not empty())

显示错误信息(缺少对应左括号或右括号):

While(not empty()){

row<-pop();

col<-pop():

显示行号row:显示列号col;)

End while

End if

为了识别更多种类的括号,对【算法4-1】加以改进后得到【算法4-2】。【算法4-2】能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表1-12所示。

【算法4-2】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF){

k<- kind(ch);

if(k > 0)

if(判断条件1){

push( (5) );

push( (6) );

push( (7) );}

else if(判断条件2 and判断条件3){

pop();

pop();

pop();}

else {

显示错误信息(缺少对应左括号或右括号);

显示行号row;显示列号col;)

end if

end if

ch <- nextch();)

end while

if(not empty()){

显示错误信息(缺少对应左括号或右括号);

While(not empty()){

Pop();

row <- pop():

col <- pop();

显示行号row;显示列号col;))

end while

end if

请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。

点击查看答案

第5题

●试题三

阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

下面的程序功能的功能是以行为单位对字符串按下面的条件进行排序。排序条件为:从字符串中间一分为二,右边部分按字符的ASCⅡ值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上

例如:位置:0 1 2 3 4 5 6 7

源字符串:h g f e a b c d

则处理后字符串:d c b a h g f e

函数ReadDat()实现从文件in.dat中读取数据(每行字符串长度均小于80),函数WriteDat()把结果dat输出到文件out.dat中。

【程序】

#include<stdio.h>

#include<siring.h>

#include<conio.h>

char dat[20][80];

void jsSort()

{

int i,j,k,strl;

char ch;

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

{

strl=strlen(dat[i]);

for(j= (1) ;j<strl;j++)/*对后半部分的字符串进行排序*/

for(k=j+1;k<strl;k++)

if( (2) )

{

ch=dat[i][j];

dat[i][j]=dat[i][k];

dat[i][k]=ch;

}

for(j=0; (3) j++)/*前后两部分进行交换*/

{

ch=dat[i][j];

dat[i][j]=dat[i][(strl+1)/2+j];

dat[i][(strl+1)/2+j]=ch;

}

}

}

void main()

{

readDat();

jsSort();

writeDat();

}

readDat()

{

FILE*in;

int i=0;

char*p;

(4) ;

while(i<20 && fgets(dat[i],80,in)!=NULL)

{

p=strchr(dat[i],"\n");

if(p)*p=0;

i++;

}

fclose(in);

}

writeDat()

{

FILE*out;

int i;

clrscr();

out=fopen("out.dat","W");

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

{

printf("%s\n",dat[i]);

printf( (5) );

}

fclose(out);

}

点击查看答案

第6题

读函数readDat()的功能是从文件IN25.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),该函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用写函数writeDat()把结果xx输出到文件 OUT25.DAT中。

条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置 0 1 2 3 4 5 6 7 8

源字符串 d c b a h g f e

4 3 2 1 9 8 7 6

处理后字符串 h g f e a b c d

9 8 7 6 1 2 3 4

注意:部分源程序已给出。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:

include〈stdio.h>

include〈string.h>

include〈conio.h>

char xx[20] [80];

void jsSort()

{

}

main()

{

readDat();

jsSort();

writeDat();

}

readDat()

{

FILE *in;

int i=0;

char *p;

in = fopen("IN25.DAT", "r");

while(i〈20 && fgets(xx[i], 80, in) != NULL)

{

p = strchr(xx[i], 'In');

if(p) *p = 0;

i++;

}

fclose(in);

}

writeDat ()

{

FILE *out;

int i;

clrscr();

ut = fopen("OUT25.DAT", "w");

for(i=0; i〈20; i++)

{

printf("%s\n", xx[i]);

fprintf(out, "%s\n", xx[i] );

}

fclose(out);

}

点击查看答案

第7题

已知在文件IN13.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出该文件中共有多少个正整数totNum;(2)求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文件OUT13.DAT中。

注意:部分源程序已给出

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include〈stdio.h>

include〈conio.h>

define MAXNUM 200

int xx [MAXNUM];

int totNum = 0; /* 文件IN13.DAT 中共有多少个正整数 */

int totCnt = 0; /* 符合条件的正整的个数 */

double totPjz = 0.0; /* 平均值 */

int ReadDat (void);

void Writedat(void);

void CalValue(void)

{

}

main ( )

{

int i;

clrscr ();

for(i = 0; i〈MAXNUM; i++)

xx[i] = 0;

if (ReadDat ())

{

printf ("数据文件 IN13.DAT 不能打开! \007\n");

return;

}

CalValue ();

printf("文件IN1B.DAT 中共有正整数= %d 个\n", totNum);

printf("符合条件的正整数的个数= %d 个\n", totCnt);

printf("平均值=%.21f\n", totPjz)

Writedat ();

}

int ReadDat (void)

{

FILE *fp;

int i = 0;

if((fp = fopen ("IN13.DAT", "r")) == NULL)

return 1;

while(! feof(fp))

{

fscanf(fp, "%d,", &xx[i++]);

}

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

fp = fopen("OUT13.DAT", "w");

fprintf(fp, "%d\n%d\n%.21f\n", totNum, totCnt, totPjz);

fclose (fp);

}

点击查看答案

第8题

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#d越lie MIN-2147483647

int findmax(int X[],int n)

{ int i,max;

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

{max=MIN;

if(max<x[i])max=x[i];}

return max;

}

造成错误的原因是

A.定义语句int i,max;中max未赋初值

B.赋值语句max=MIN;中,不应给max赋MIN值

C.语句if(max<x[i])max=X[i];中判断条件设置错误

D.赋值语句max=MIN;放错了位置

点击查看答案

第9题

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#d越lie MIN-2147483647

int findmax(int X[],int n)

{ int i,max;

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

{max=MIN;

if(max<x[i])max=x[i];}

return max;

}

造成错误的原因是

A.定义语句int i,max;中max未赋初值

B.赋值语句max=MIN;中,不应给max赋MIN值

C.语句if(max<x[i])max=X[i];中判断条件设置错误

D.赋值语句max=MIN;放错了位置

点击查看答案

第10题

已知在文件IN65.DAT中存有若干个(个数<200)4位数字的正整数,函数ReadDat()是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求是: (1)求出这个文件中共有多少个正整数totNum。 (2)求出这些数中的各位数字之和是奇数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz。最后调用函数WriteDat()把所有结果输出到文件 OUT65.DAT中。

注意:部分源程序已给出。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<stdio. h>

include<conio. h>

define MAXNUM 200

int xx [MAXNUM];

int totNum=0;

int totCnt=0;

double totPjz=0.0;

int ReadDat (void);

void WriteDat (void)

void CalValue (void)

{

void main ( )

{

int i;

clrscr ( );

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

xx[i]=0;

if (ReadDat ( ) )

{

printf ("数据文件IN65.DAT不能打开! \007\")

return;

}

CalValue ( );

printf ( "文件IN65.DAT中共有正整数=%d个\n",totNum);

printf ( "符合条件的正整数的个数=%d个\n", totCnt)

printf ( "平均值=%. 21f\n", totPjz);

WriteDat ();

}

int ReadDat (void)

{

FILE *fp;

int i=0;

if ( ( fp= fopen ( "IN65. DAT", "r" ) ) ==NULL)

return 1;

while ( ! feof (fp))

{

fscanf (fp, "%d", &xx [i++] );

}

fclose (fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

fp=fopen ("OUT65. DAT", "w" );

fprint f (fp, "%d\n%d\n%. 21f\n", totNum, totCnt,totPjz);

fclose (fp);

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案