汉字听写大赛

盘踞pán jù

题目

盘踞pán jù

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下函数返回a所指数组中最小的值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j for(i=j;i<n;i++) if(a[i]<a[p])______; return(p);} 在横线处应填入的是

A.i=p

B.a[p]=a[i]

C.p=j

D.p=i


正确答案:D
解析: 该程序先判断a[i]a[p],如果条件为真,则a[i]比当前设定的最小值小(p保留的当前最小元素的下标),那么将i赋给p,即将比较过的最小元素下标保留在p中,作为下面判断的标准。

第2题:

有以下程序,其中函数的功能是将多个字符串按字典顺序排序: includevoid f(char*p[],i

有以下程序,其中函数的功能是将多个字符串按字典顺序排序: # include<string.h> void f(char*p[],int n) {char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j]p[j]=t;} } main() {char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d\n",strlen(p[1])); } 程序运行后的输出结果是 ______。

A.2

B.3

C.6

D.4


正确答案:D
解析:strcmp(s1,s2)是比较两个字符串的大小,s1>s2时值为正数,s1s2时值为负数,s1=s2时值为0。调用 f(p,5)函数的功能是将存储字符串的数组p中的字符串从小到大进行排列。最后的排列结果为:p[5]={"aabdfg","abbd", "abc","cd","dcdbe"},最后要求输出的是"abbd"的长度。

第3题:

pí bèi

wān yán

mǐn ruì

jìng pèi

hé xié


正确答案:
疲惫;蜿蜒;敏锐;敬佩;和谐

第4题:

有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:include inelude

有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:#include <stdio, h>#inelude <string, h>void f(char * p[ ] ,int n) char * t;int i,j; for(i=0;i<n-1;i++) for(j=i+1 ;j<n;j ++ ) if(strcmp(p[i], p[j])>0) { t =p[i];p[i] =p[j] ;p[j] =t;}}main( ){ char * p [5] = { "abe"." aabdfg"." abbd"," dcdbe"," cd" }; f(P,5 ); printf("% d\n", strlen(p[1]) );}程序运行后的输出结果是( )。

A.2

B.3

C.60

D.4


正确答案:D
解析:本题经过排序后,第二个字符串是"abbd",所以输出结果是4。

第5题:

下列给定程序中fun()函数的功能是:将n个无序整数从小到大排序。

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

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

试题程序:

include <conio.h>

include <stdio.h>

include <stdlib.h>

fun(int n, int *a)

{ int i,j,p,t;

for (j=0;j<n-1;j++)

{ P=j;

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

for(i=j+l;i<n-1;i++)

if (a[p]>a[i])

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

t=i;

if (p!=j)

{t=a[j];a[j]=a[p];a[p]=t;}

}

}

putarr( iht n,int *z)

{int i;

for (i=l;i<=n;i++,z++)

{ printf("%4d",*z);

if (!(i%10)) printf("\n");

} printf ("\n");

}

main ()

{int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;

clrscr();

printf("\n\nBefore sorting %d numbers:\n",n); putarr(n,aa);

fun(n,aa);

printf("\nAfter sorting %d numbers:\n",n);putarr(n,aa);

}


正确答案:(1)错误:for(i=j+1;in-1;i++) 正确:for(i=j+1;in;i++) (2)错误:t=i; 正确:p=i;
(1)错误:for(i=j+1;in-1;i++) 正确:for(i=j+1;in;i++) (2)错误:t=i; 正确:p=i; 解析:该程序是对n个数实现从小到大的排序,该题中先是找小输入整数的最小项,置于指针第1个元素的位置:再找出第2个元素至尾元素的最小项,置于第2个元素的位置;之后顺次处理后读元素。

第6题:

有以下程序 include void f(char p[][10],int n)/*字符串从小到大排序*/ {

有以下程序 #include<string.h> void f(char p[][10],int n)/*字符串从小到大排序*/ { char t[10];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() { char p[5][10]={"abc","aabdfg:,"abbd","dcdbe","cd"}; f(p,5); printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是

A.2

B.4

C.6

D.3


正确答案:C
解析:本题中函数f()利用选择法对字符串数组p中的字符中按从小到大排序,字符串比较的方法是:依次对S1和S2所指字符串对应位置上的字符两两进行比较,当出现第一对不相同的字符时,即由这两个字符(ASCII码值)决定所在串的大小,因此最后在 p[0]中存储的是最小的字符串是“aabdfg”。最后用 strlen()函数求得该字符串的长度为6。

第7题:

有以下程序:includevoid f(char p[][10],int n)/* 字符串从小到大排序*/{char t[10];

有以下程序: #include<string.h> void f(char p[][10],int n) /* 字符串从小到大排序 */ {char t[10];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0{strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy([i],t);} } main() {char p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"; f(p,5); printf("%d\n",strlen(p[0])); } 程序运行后的输出结果( )。

A.2

B.4

C.6

D.3


正确答案:D
解析:strcmp(str1,str2)是比较字符串str1和str2,若str1>str2,返回值为正数;f()函数的功能就是将字符串按照从小到大的顺序进行排列,需要注意的是比较的足字符串中每个字符的ASCII值的大小,所以元素p[0]是“abc”,它的长度为3。

第8题:

看拼音写词语

jù pà shuāi lǎo pàn duàn xián yí cāo zòng

( ) ( ) ( ) ( ) ( )

fèi xū jǔ sànɡ chàn dǒu jǐn shèn qí qū

( ) ( ) ( ) ( ) ( )


正确答案:
惧怕 衰老 判断 嫌疑 操纵
废墟 沮丧 颤抖 谨慎 崎岖

第9题:

以下程序段是函数返回a所指数组中最小的值所在的下标值,请在下划线处填空。

fun(int *a,int n)

{

int i,j=0,p;

p=j;

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

if(a[i]<a[p]) 【 】;

return(p);

}


正确答案:p=i
p=i

第10题:

有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=i


正确答案:D
本题考查对程序作用的理解。该函数具有两个形参a和n,a为数组名,n为数组中元素的个数。函数的返回值为p,这里p为数组的下标。初始时,i、j、p都为0,for循环的初始表达式为i=j,条件表达式为i<n,也就是当i=n时,for循环结束。该for循环表达的含义为:初始时,令a[i]=a[p]=a[0],随后i可从0开始递增,直到n-1,对于每一个a[i],都与a[p]进行比较,空白处需要填入语句的部分是if语句满足条件后要进行的操作,表示如果a[i]<a[p],应当进行怎样的处理。选项A 是令i=p,此时整个程序中p的值没有发生改变,p=0,即如果a[i] <a[p],则令i=0,回到了初始化的状态,这样在for语句中造成了死循环,该选项错误。选项B是令a[p]=a[i],整个程序在运行过程中,p的值依然没有变化,p=0,即如果a[i] <a[0],则令a[0]=a[i],整个程序运行结束后,a[0]的数值应该为整个数组的最小值,用return语句返回下标0没有意义。选项C是令 p=j,程序在运行过程中,j的值和p的值都没有发生改变,整个程序没有意义。选项D是p=i,该语句的含义是如果a[i]<a[p],则令p=i,程序结束后则有a[p]为数组中的最小值,将最小值的下标返回。

更多相关问题