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

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


参考答案和解析
错误

相关考题:

●试题一阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【函数1.1说明】函数strcpy(char*to,char*from)将字符串from复制到字符串to。【函数1.1】void strcpy(char*to,char*from){while( ( 1 ) );}【函数1.2说明】函数merge(int a[ ],int n,int b[ ],int m,int *c)是将两个从小到大有序数组a和b复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。【函数1.2】void merge(int a[ ],int n,int b[ ],int m,int *c){ int i,j;for(i=j=0;i<n j<m;)*c++=a[i]<b[j]? a[i++]:b[j++];while( (2) )*c++=a[i++];while( (3) )*c++=b[j++];}【函数1.3说明】递归函数sum(int a[ ],int n)的返回值是数组a[ ]的前n个元素之和。【函数1.3】int sum(int a[ ],int n){ if(n>0)return (4) ;else (5) ;}

插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,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] j0;--j){if(ta[j-1])break;a[j]=a[j-1];}a[j]=t;}}protected:int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数};

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

( 14 ) 插入排序算法的主要思想是 : 每次从未排序序列中取出一个数据 , 插入到已排序序列中的正确位置 。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; iint t=a[i];int j;for ( 【 14 】 ; j0; --j){if (t=a[j-1]) break;a[j]=a[j-1];}a[j]=t;}}protected:int *a, n; // 指针 a 用于存放数组首地址, n 用于存放数组元素个数};

若有定义“int*p[3];”,则以下叙述中正确的是( )。A.定义了一个基类型为int的指针变量p,该变量具有3个指针B.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有3个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。includevoid reverse(i 下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include<stdio.h> void reverse(int a[],int n) { int i,t; for(i=0;i<n/2,i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,A.ptr是一个返回值是血的函数B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向血型数据的指针

请编一个函数void proc(int ttEM][N],int pp[N]),tt 指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: includestdio.h includeconio.h includestdlib.h define M 3 define N 4 void proc(int ttrM3rN]。int pp[N]) {} void main { int str[M][N]={ {34,56,84,78}, {23,84,93,12), {28,38,39,93}}; int p[N],i,j,k; system("CLS"); printf("The riginal data is:\n"); for(i=0;iM;i++) { for(j=0;jN;j++) printf("%6d",str[i][j]); printf("\n"); } proc(str,p); printf("\nThe result is:\n");for(k=0:kM;k++) printf("%4d",p[k]); printf("n");}

请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p<n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, P的值为6。移动后,一维数组的内容应为7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6。[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。[试题源程序]inciude <stdio.h>define N 80void fun(int *w, int p, int n){}main(){int a[N]=(i, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);int i, P, n=15;printf("The original data:\n");for(i=0; i<n; i++)printf("%3d", a[i]);printf("\n\nEnter p: ");scanf("%d", &p);fun(a, P, n);printf("\nThe data after moving:\n");for(i=0; i<n; i++)printf("%3d", a[i]);printf("\n\n");}

请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>define M 3define N 4void fun(int tt[M][N],int pp[N]){}main(){int t[M] [N]={{68,32,54,12},{14,24,88,58},{42, 22, 44, 56}};int p[N],i,j,k;clrscr();printf("The riginal data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++)printf("%4d",p[k]);printf("\n");}

请编写一个函数void fun(int p[],int n,int c),其中数组p的元素按由小到大的顺序排列,其元素个数为n。函数fun()的功能是将c插入到数组p中,且保持数组的升序排列。注意:部分源程序已存在文件PROC9.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句;文件PROC9.cpp的内容如下://PROC9.cppinclude <iostream>include <string>using namespace std;define M 30void fun(int p[ ],int n,int c);int main (){int pp[M],n,i;int fg, c;cout<<"Please input n:\n";cin>>n;cout<<"Please input the n data:\n";for (i=0; i<n; i++)cin>>pp [i];cout<<"Please input c:\n";cin>>c;fun (pp, n, c);for (i=0; i<n; i++)cout<<pp [i] << " " ;cout<<end1;return 0;}void fun(int p[ ],int n, int c){//* * * * * * * * *}

语句int(*ptr)();的含义是A.ptr是指向一个维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

说明语句int*(*p)();的含义是______。A.p是一个指向int型数组的指针B.p是指针变量,它构成了指针数组C.p是一个指向函数的指针,该函数的返回值是一个整型D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针

设有如下定义,则以下叙述中正确的是______。 int(*ptr)();A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针

插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。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用于存放数组元素个数};

在下面语句中,其含义为“p为指向含n个元素的一维数组的指针变量”的定义语句是 ( )A.int p [n]B.int * p( );C.int * p(n);D.int( * p)[n]

(C语言)假设有如下定义方式int(**ptr)();,则以下叙述中正确的是A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针的指针,该函数返回一个int型数据 我是应届生D、ptr是一个函数名,该函数的返回值是指向int型数据的指针

若有函数 void fun(double a[]。int*n) {…} 以下叙述中正确的是( )。A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B.形参a和n都是指针变量C.形参a是一个数组名,n是指针变量D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组

若有函数Void fun( double a[ ],int *n){ …… }以下叙述中正确的是A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B)形参a和n都是指针变量C)形参a是一个数组名,n是指针变量D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。[C函数1]void fun(char*W,char x,int*n){ int i,P;p=0;w[*n]=x;while(x>w[p]) (1) ;for(i=*n,i>p;i--)w[i]=(2);w[p]=x;++*n;}[说明2]函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。[C函数2]void revstr(char*s){ char*p,c;if(s==NULL)return;p=(3); /*p指向字符串s的最后一个有效字符*/while(s<p){ /*交换并移动指针*/C=*s;(4)=*p;(5)=c;}}

请编写一个函数void fun(int a [],int n),其中a为数组,n为数组a的长度。函数fun()的功能是冒泡排序法将数组a元素按从小到大的顺序排列,实现数组a的升序排列。注意:部分源程序已存在文件PROC12.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC12.cpp的内容如下://PROC12. cppinclude <iostream>using namespace std;define MAX 100void fun(int a[],int n);int main (){int a[MAX],n,i;cout<<"Please enter the array size n:\n";do {cin>>n;if (n>100)cout<<"array size flowover! ReEnter a number(0-100)\n";}while (n>100);cout<<"Enter the array data:\n";for (i=0; i<n; i++)cin>>a [ii;fun(a[],n);for (i=0; i<n; i++)cout<<a [i] <<" ";cout<<end1;return 0;}void fun(int a[ ],int n){// * * * * * * * *}

设有定义:int(* ptr)( ); 则以下叙述中正确的是 ( )A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int数据D.prt是一个函数名,该函数的返回值是指向int型数据的指针

若有int(*p)[3]:则以下表述中正确的是 ______。A.p是一个指向具有3个元素的整型数组的指针B.p是一个指向int型变量的指针C.p是一个有3个元素的指针数组,每个元素是一个int型指针D.p是一个具有3个int型元素的一维数组

定义由n个指向整形数据的指针组成的数组p,其正确的方式为( )。A int p;B int (*p)[n];C int *p[n];D int (*p)( );

阅读下列说明和C代码,回答下列问题。[说明]?? ?采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排序的子数组得到排序结果。?? ?下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下:?? ?arr:待排序数组?? ?P,q,r:一个子数组的位置从P到q,另一个子数组的位置从q+1到r?? ?begin,end:待排序数组的起止位量?? ?left,right:临时存放待合并的两个子数组?? ?n1,n2:两个子数组的长度?? ?i,j,k:循环变量?? ?mid:临耐变量?? ?[C代码]?? ?#inciude<stdio, h>?? ?#include<stdlib, h>?? ?Define MAX 65536?? ?void merge(int arr [ ],int p,int q,int r) {?? ?int * left,* right;?? ?int n1,n2,I,j,k;?? ?n1=q-p+1;?? ?n2=r-q;?? ?If(left=(int *)malloc((n1+1) * sizeof(int)))=NULL) {?? ?Perror( "malloc error" );?? ?exit11?? ?}?? ?If((right = (int *)malloc((n2+1) * sizeof(int)))=NULL)?? ?Perror("malloc error");?? ?exit 11;?? ?}?? ?for(i=0;i<n1;i++){?? ?left[i]=arr [p+i];?? ?}?? ?left[i]=MAX;?? ?for(i=0;i<n2;i++){?? ?right[i]=arr[q+i+1]?? ?}?? ?right[i]=MAX;?? ?i=0;j=0;?? ?For(k=p;______;k++){?? ?If(left[i]>right[j] {?? ?______?? ?j++;?? ?}else{?? ?arr[k1]=left[i];?? ?i++;?? ?}?? ?}?? ?}?? ?Void merge Sort(int arr[ ], int begin, int end) {?? ?int mid;?? ?if(______){?? ?mid=(begin + end)/2;?? ?merge Sort(arr,begin,mid);?? ?______;?? ?Merge(arr,begin,mid,end);?? ?}?? ?}

根据函数原型“int FF(int a[], int n)”,编写函数定义,计算并返回数组a[n]中所有元素之和。

指向数组元素为整型的一维数组的指针变量的定义是()。A、int*p()B、int(*p)()C、int*p[4]D、int(*p)[4]

函数viodfun(doublea[],int*n){………}叙述中正确的是()。()A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是一个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

单选题若有函数: voidfun(doublea[],int*n) {......} 以下叙述中正确的是(  )。A调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B形参a和n都是指针变量C形参a是一个数组名,n是指针变量D调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组