以下程序中,函数sort的功能是对a数组中的数据进行由大到小的排序。void sort(int a[],int n){ int

题目

以下程序中,函数sort的功能是对a数组中的数据进行由大到小的排序。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 aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=0;i<10;i++)printf("%d,",aa[i]); printf("\n");}程序运行后的输出结果是A.1,2,3,4,5,6,7,8,9,10B.10,9,8,7,6,5,4,3,2,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,3

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

第1题:

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

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

#include<stdio.h>

voidsort(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个数进行从大到小排序,其他数不变。

第2题:

插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。

class InsertSort{

public:

InsertSort(int* a0,int n0):a(a0),n(n0){}//参数a0是某数组首地址,n是数组元素个数

void sort()

{//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]…a[n-1]

for(int i=1;i<n;++i){

int t=a[i];

int j;

for(【 】;j>0;--j){

if(t>=a[j-1])break;

a[j]=a[j-1];}

a[j]==t;}}

protected:

int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数

};


正确答案:j=i
j=i 解析:本题考查的是插入排序算法。在sort()函数中是一个两重循环,外循环从1循环递增到n-1,即遍历未排序序列a[1]…a[n-1],取未排序序列中的第1个元素a[i] (i初值等于1)与已排序序列中的最后一个元素a[i-1]开始从后往前进行比较。内循环从后往前遍历已排序序列,使循环变量j的初值为i,则a[j-1]是已排序序列的最后一个元素。所以应该填j=i

第3题:

插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分补充完整。

class InsertSort{

public:

InsertSort(int*a0,int n0):a(a0),n(n0){}//参数组首地址,n 是数组元素个数

void sort()

{//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]

for (int i=1;iint j;

for( [14] j>0;--j){

if(t>a[j-1])break;

a[j]=a[j-1];}

a[j]=t;}}

protected:

int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数

};


正确答案:

i%2==0

第4题:

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

第5题:

补充程序Ccon042.C,使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序


for(i=0;i</**/m-1/**/;i++)
if/**/(a[j]<a[j+1])/**/
a[j]=/**/a[j+1]/**/;

第6题:

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

第7题:

以下程序中函数sort的功能是对数组a中的数据进行由大到小的排序:includevoidsort(int

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

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

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

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

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


正确答案:C
解析:在main函数中调用sort函数时,实参&aa[3]把数组元素aa[3]的首地址传给形参数组a,使aa[3]与a[0]相对应。sort函数将从aa[3]开始的连续5个数进行了从大到小的排序,其他数组元素不变。

第8题:

已知函数 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");
 }

测试结果:


解析:

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

第9题:

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

第10题:

【其它】编写程序:设计一个一维数组的排序函数p_sort,并调用它对10个整数进行排序。p_sort函数原型如下: void p_sort(int *p,int n) 其中,p是指向int型一维数组的指针变量,n是数组长度。


错误