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

题目

以下程序中函数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,

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

第1题:

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

void f(int b[],int n,int flag)

{int i,j,t;

for(i=0;i

for (j=i+1;j

if(flag?b[i]>b[j]:b[i]

}

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,


正确答案:B

第2题:

下列程序中函数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个数进行从大到小排序,其他数不变。

第3题:

以下程序中函数 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[i]>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 ,


正确答案:B

第4题:

若有以下程序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型,则必须对之进行函数说明。可在函数外说明也可以在函数内说明,在函数外说明,在其后的所有函数均可调用该函数,若在函数内说明,则只能在本函数内调用该函数。函数只能定义一次,但函数说明可以出现多次。

第5题:

以下程序中函数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。

第6题:

已知函数 void- sort(int Array[-1 int N的功能:采用选择排序法将具有N元素的整型数组Aray按由大到小排序元素,排序好的元素仍然放在数组Aray里面。例如:如果原来数组为”1432567,则排序后为”7654321″。編写该函数的实现代码,并要求编写main()函数,对实现函数的进行测试



请帮忙给出正确答案和分析,谢谢


答案:

void select_sort(int Array[], int n)//n为数组a的元素个数
{    
    for (int i = 0; i<n - 1; i++)//进行N-1轮选择
    {
        int min_index = i;    
        for (int j = i + 1; j<n; j++)//找出第i小的数所在的位置
        {
            if (Array[j] > Array[min_index])
            {
                min_index = j;
            }
        }
        //将第i小的数,放在第i个位置;如果刚好,就不用交换
        if (i != min_index)
        {
            int temp = Array[i];
            Array[i] = Array[min_index];
            Array[min_index] = temp;
        }
    }
}

int main()
{
    int num[7] = { 1, 2, 3, 4, 5, 6, 7};
    select_sort(num, 7);
    printf("\n结果如下:\n");
    for(int i=0; i<7; i++)
    {
        printf("\n%d\n ", num[i]);
    }        
    printf("\n");
 }

测试结果:


解析:

选择排序(从小到大)的基本思想是,首先,选出最小的数,放在第一个位置;然后,选出第二小的数,放在第二个位置;以此类推,直到所有的数从小到大排序。

第7题:

若有以下程序: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函数的定义。

第8题:

排序问题主要解决的是()

有限资源分配

B、顾客排队

C、由大到小的序列

D、由小到大的序列


正确答案:A

第9题:

若有以下程序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为所选。

第10题:

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

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

A.A

B.B

C.C

D.D


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

更多相关问题