以下程序中函数f的功能是: 当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。void f(int b[], int n, int flag){int i, j, t; for (i=0; i<n-1; i++) for (j=i+1; j<n; j++) if(flag ? b[!]>[j]: b[i]<b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; }}main (){ int a[10]={5,4,3,2,1,6,7,8,9,10}, i; f(&a[

题目

以下程序中函数f的功能是: 当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。void f(int b[], int n, int flag){int i, j, t; for (i=0; i<n-1; i++) for (j=i+1; j<n; j++) if(flag ? b[!]>[j]: b[i]<b[j]) { t=b[i]; b[i]=b[j]; b[j]=t; }}main (){ int a[10]={5,4,3,2,1,6,7,8,9,10}, i; f(&a[2], 5, 0); f(a, 5, 1), for (i=0; i<10; i++) printf("%d,", a[i]);}程序运行后输出结果是( )。

A.1,2,3,4,5,6,7,8,9,10,

B.3,4,5,6,7,2,1,8,9,10,

C.5,4,3,2,1,6,7,8,9,10,

D.10,9,8,7,6,5,4,3,2,1,


相似考题
更多“以下程序中函数f的功能是: 当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。void ”相关问题
  • 第1题:

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。includevoid sort(i

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。

    #include<stdio.h>

    void sort(inta[],int n)

    {int i,j,t;

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

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

    if(a[i]<a[j])

    {t=a[i];a[i]=a[j];a[j]=t;

    }

    }

    main()

    {int a[10]={1,2,3,4,5,6,7,8,9,10},i;

    sort(&a[1],7);

    for(i=0;i<10;i++)printf("

    A.1,2,3,4,5,6,7,8,9,10,

    B.10,9,8,7,6,5,4,3,2,1,

    C.1,8,7,6,5,4,3,2,9,10,

    D.1,2,10,9,8,7,6,5,4,3,


    正确答案:C
    解析: 本程序中的函数sort(int a[],int n)实现的功能是将数组a中的前n个数进行从大到小排序。 sort(&a[1],7)是将数组中从a[1]到a[7]这7个数进行从大到小排序,其他数不变。

  • 第2题:

    以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。includevoid f(char p

    以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[][10],int n) { char t[20];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() { charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”};int i; f(p,5);printf(“%d\n”,strlen(P[0])); } 程序运行后的输出结果是

    A.6

    B.4

    C.5

    D.3


    正确答案:C
    解析:函数stremp(字符串1,字符串2)作用是将“字符串1”和“字符串2”进行比较,如果“字符串1”>“字符串2”,返回一个大于0的整数值;如果“字符串1”“字符串2”,返回一个小于0的整数值;如果“字符串1”=“字符串2”,返回0。函数 strepy(字符串数组名,字符串,[整型表达式]),整型表达式的作用是将“字符串”的前“整型表达式”个字符存入到指定的“字符数组”中,若省略“整型表达式”,则将整个“字符串”存入“字符数组”中。函数f()的功能是利用选择法把一个具有n行的二维数组中按行存放的n个字符串由大到小排序。在主函数中定义了一个二维字符数组p并给它按行赋初值,然后调用f()函数,把它按行从大到小排列。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串。由此可知最大的字符串为“dcdbe”,排序后存放在第一行,其首地址为P[0],在输出语句输出的P[0]指向的字符串长度是5。

  • 第3题:

    若有以下程序includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){print

    若有以下程序 #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) {printf(“%d\n”,n);} 则以下叙述中不正确的是

    A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

    B.若在主函数前对函数f进行说明,则在主函数和其后的其他的其他函数中都可以正确调用函数f

    C.对于以上程序,编译时系统会提示出错信息;提示对f函数重复说明

    D.函数f无返回值,所以可用void将其类型定义为无值型


    正确答案:C
    解析:若一个函数定义在主调函数之后,其返回值不是int或char型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次。

  • 第4题:

    有以下程序:include void sort(int L[],int n){ int j, k, flag, temp; flag=n-1;

    有以下程序: #include <iostream.h> void sort(int L[],int n) { int j, k, flag, temp; flag=n-1; while (flag>O) { k=flag-1; flag=O; for (j=O; j<=k; j++) { if(L[j]>L[j+1]) {

    A.123

    B.3210

    C.2130

    D.1230


    正确答案:A
    解析:本题中的函数sort的功能是将输入的数组L,按从小到大的顺序排序,并返回。所以程序最后的输出为0123,即A选项。

  • 第5题:

    以下程序中函数f的功能是:当na9为1时,进行由小到大排序;当na9为0时,进行由大到小排序。

    程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,10,

    B.3,4,5,6,7,2,1,8,9,10,

    C.5,4,3,2,1,6,7,8,9,10,

    D.10,9,8,7,6,5,4,3,2,1,


    正确答案:B
    本题重点考察函数的参数传递,函数的参数传递分为传值和传地址两种情况。本题就是结合数组考查参数传递的情形。函数f完成的功能是对数据进行排序,语句f(&a[2],5,O)的作用是对从a[2]开始的5个元素进行从大到小排序。注意:这里传递的是地址&a[2],所以排序操作可看作是直接对数组a操作,执行后的结果为5,4,7,6,3,2,1,8,9,10。语句f(a,5,1)对数组a的前5个元素从小到大排序,排序后数组为:3,4,5,6,7,2,1,8,9,10。因此B选项正确。

  • 第6题:

    下列给定程序中,函数proc()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:


    正确答案:

    【解析】由主函数的调用可知,函数proc()没有返回值。因此,“proc(char*pstr[6])”应改为“voidproe(char*pstr[6])”。题目中要求按字符串由小到大的顺序进行排序,需要比较每一个字符串的大小,因此,“if(strcmp(*(pstr+i),pstr+j)>0)”应改为“if(strcmp(*(pstr+i),*(pstr+j))>O)”。顺序不对的2个字符串要互换其指针所指向的地址,赋值的两个变量其类型应该相同,因此,“*(pstr+i)=pstr+j;”应改为“*(pstr+i)=*(pstr+j);”。

  • 第7题:

    以下程序中函数f( )的功能是将n个字符串按由大到小的顺序进行排序。 include void f

    以下程序中函数f( )的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[ ][10],int n) { char t[20]; int i,j; for(i =O;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 [ ] [ 10 ] = { "abc","aabdfg","abbd","dcdbe", "cd" }; int i; f(p,5); printf("%d\n",strlen(p[O] ) ); } 程序运行后的输出结果是

    A.6

    B.4

    C.5

    D.3


    正确答案:C
    解析:对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的字符时,即由这两个字符(ASCII码值)决定所在串的大小。

  • 第8题:

    以下函数为直接选择排序算法,对a[1],a[2],…a[n]中的记录进行直接选择排序,完成程序中的空格。
    n-1;n;k=j;a[i]=a[k];a[k]=temp

  • 第9题:

    在对一组序列 (45,29,87,12,6,63,55,37,78)进行直接插入排序时,当把第8个记录37插入到有序表时,为寻找插入位置需比较()次。(由小到大排序)


    正确答案:5

  • 第10题:

    当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中()为佳。

    • A、起泡排序
    • B、快速排序
    • C、直接插入排序
    • D、简单选择排序

    正确答案:D

  • 第11题:

    程序中有一空白处,需要填入一条语句使程序完成其功能。下列选项中错误的语句是()。

    • A、flag=False
    • B、flag=Notflag
    • C、flag=True
    • D、ExitDo

    正确答案:C

  • 第12题:

    单选题
    以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。#include void f(int b[],int n,int flag){ int i,j,t; for(i=0;ib[j]:b[i]
    A

    1,2,3,4,5,6,7,8,9,10,

    B

    3,4,5,6,7,2,1,8,9,10,

    C

    5,4,3,2,1,6,7,8,9,10,

    D

    10,9,8,7,6,5,4,3,2,1,


    正确答案: C
    解析:
    第一次排序:将a[2]~a[6]的5个元素按从小到大排序,排序后数组为5,4,7,6,3,2,1,8,9,10;第二次排序:将a[0]~a[4]的5个元素按从大到小排序,排序后数组为3,4,5,6,7,2,1,8,9,10。答案选择B选项。

  • 第13题:

    若有以下程序:includevoid f(int n);main(){void f(int n); f(5);}void f(int n){prin

    若有以下程序: #include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n);}则以下叙述中不正确的是( )。

    A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

    B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f

    C.对于以上程序,编译时系统会提示出错信息:对f函数重复说明

    D.函数f无返回值,所以可用void将其类型定义为无返回值型


    正确答案:C
    解析:f函数没有重复说明,在main函数中是对f函数声明,在main函数外则是对f函数的定义。

  • 第14题:

    若有以下程序includevoidf(intn);main() (voidf(intn); f(5); }void f(intn) {printf(

    若有以下程序 #include <stdio.h> void f(int n); main() ( void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是

    A.若只在主函数中对函数f进行说明,则只能在土函数中正确调用函数f

    B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数f

    C.对于以上程序,编译时系统会提示出错信息:提示对f函数重复况明

    D.函数f无返回值,所以可用void将其类型定义为无值型


    正确答案:C
    解析:本题考核的知识点是函数说明的方法。若一个函数定义在主调函数之后,其返回值不是int或char型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次,因此选项C是错误的。所以,4个选项中C为所选。

  • 第15题:

    以下程序中函数f的功能是:当na9为1时,进行由小到大排序;当fla9为oN。进行由大到小排序。

    程序运行后的输出结果是( )

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    flag为ld,时从小到大排序,flag为0时从大到小排序,这道题要注意排序的起始,和排序的个数,答案选择A)。

  • 第16题:

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。 A.1,2,3,4,5,6,7,8,9,l0,S

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。

    A.1,2,3,4,5,6,7,8,9,l0,

    B.10,9,8,7,6,5,4,3,2,1,

    C.1,8,7,6,5,4,3,2,9,10,

    D.1,2,10,9,8,7,6,5,4,3,


    正确答案:C
    本程序中的函数sort(inta[],intn)实现的功能是将数组a中的前n个数进行从大到小排序。sort(&a[1],7)是将数组中从a[1]~a[7]这7个数进行从大到小排序,其他数不变。

  • 第17题:

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。include void sort(

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。 #include <stdio.h> void sort(int a[],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t; } } main() { int a[10]={1,2;3,4,5,6,7,8,9,10},i; sort(&a[1],7); for(i=0;i<10;i++)printf("%d,",a[i]); } 程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,10,

    B.10,9,8,7,6,5,4,3,2,1,

    C.1,8,7,6,5,4,3,2,9,10,

    D.1,2,10,9,8,7,6,5,4,3,


    正确答案:C
    解析:本程序中的函数sort (int a[],int n)实现的功能是将数组a中的前n个数进行从大到小排序。sort(&a[1],7)是将数组中从a[1]到 a[7]这7个数进行从大到小排序,其他数不变。

  • 第18题:

    下列程序中函数son()的功能是对数组a中的数据进行由大到小的排序。includevoid sort(in

    下列程序中函数son()的功能是对数组a中的数据进行由大到小的排序。 #include<stdio.h> void sort(int a[],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&a[1],7); for(i=0;i<10;i++)printf("%d,",a[i]); } 程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,10,

    B.10,9,8,7,6,5,4,3,2,1,

    C.1,8,7,6,5,4,3,2,9,10,

    D.1,2,10,9,8,7,6,5,4,3,


    正确答案:C
    解析:本程序中的函数sort(inta[],intn)实现的功能是将数组a中的前n个数进行从大到小排序。sort(&a[1],7)是将数组中从a[1]到a[7]这7个数进行从大到小排序,其他数不变。

  • 第19题:

    下列程序的运行结果为()。include using namespace std;namespace m {int flag = 10;}

    下列程序的运行结果为( )。 #include <iostream> using namespace std; namespace m { int flag = 10; } namespace n { flag = 100; } void mian( ) { int flag = 0; using namespace n; cout<<flag<<","<<m:: flag; }

    A.100,10

    B.100,0

    C.0,100

    D.0,10


    正确答案:D
    解析:contflag;输出的是main()中的flag值0,而m::flag=10。

  • 第20题:

    以下关于HLRNO_flag参数描述正确的是()。

    • A、当HLRNO_flag为0时,容灾HLR在处理位置更新请求,返回成功响应消息;发送RESET请求等流程中,消息参数中的HLR Number为容灾HLR的HLR号码
    • B、当HLRNO_flag为0时,容灾HLR在处理位置更新请求,返回成功响应消息;发送RESET请求等流程中,消息参数中的HLR Number为主用HLR的HLR号码
    • C、当HLRNO_flag为1时,容灾HLR在处理位置更新请求,返回成功响应消息;发送RESET请求等流程中,消息参数中的HLR Number为主用HLR的HLR号码
    • D、当HLRNO_flag为1时,容灾HLR在处理位置更新请求,返回成功响应消息;发送RESET请求等流程中,消息参数中的HLR Number为容灾HLR的HLR号码

    正确答案:A,C

  • 第21题:

    在对一组记录(40,24,82,9,1,78,46,31,69)进行直接插入排序(由小到大排序),当把第7个记录46插入到有序表时,为寻找插入位置需比较()次。


    正确答案:3

  • 第22题:

    在对一组元素(64,48,106,33,25,82,70,55,93)进行直接插入排序时,当进行到要把第7个元素70插入到已经排好序的子表时,为找到插入位置,需进行()次元素间的比较(指由小到大排序)。

    • A、6
    • B、2
    • C、3
    • D、4

    正确答案:C

  • 第23题:

    填空题
    在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置需比较()次。(由小到大排序)

    正确答案: 3
    解析: 暂无解析