重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

功能:用冒泡法对数组a中的n个整数非降序排序。 请改正...

功能:用冒泡法对数组a中的n个整数非降序排序。 请改正程序中的错误。 void swap(int *x, int *y){ int z; (1) } void bubbleSort(int a[], int n) { int i, j; for(i=0; i<n-1; i++){ (2) if((3) ) { (4) ; } int main(){ i, a[5]="{5,4,1,2,3}," n="5;" (5) return 0; (1)a. z="x;" x="y;" y="z;" b. *x="*y;" *y="z;" c. d. *z="*x;" a. for(j="1;" j++) j>0; j--) D. for(j=i; j<n-1; j++) (3) a. a[i]>a[j] B. a[i]>a[i+1] C. a[j]>a[j+1] D. a[i]>a[0] (4) A. swap(a+i, a+i+1) B. swap(a[i],a[i+1]) C. swap(a[j],a[j+1]) D. swap(a+i, a+j) (5) A. bubbleSort(int a[], int n) B. bubbleSort(a[], n) C. bubbleSort(a[5], n) D. bubbleSort(a, n)

暂无答案
更多“功能:用冒泡法对数组a中的n个整数非降序排序。 请改正...”相关的问题

第1题

已知两个定长数组A、B,它们分别存放两个非降序有序序列,请编写程序把数组B序列中的数逐个插入到数组A序列中,完成后两个数组中的数分别有序(非降序)并且数组A中所有的数都不大于数组B中的任意一个数。要求,不能另开辟空间,也不能对任意一个数组进行排序操作。例如, 数组A为:4,12,28; 数组B为:1,7,9,29,45 输出结果为:1,4,7(数组A) 9,12,28,29,45(数组B)

点击查看答案

第2题

设一棵完全二叉树使用顺序存储在数组6f[1..n]中,请写出进行非递归的前序遍历算法。【西安电子科技大学1998四(9分)】

点击查看答案

第3题

设下三角矩阵A:

如果以行序为主序将A的非零元素存储在一维数组B[n(n+1)/2]中,那么A的第i行第j列的非零元素aij(i≥j)在数组B中的下标为______。

点击查看答案

第4题

已知数据文件IN58.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函njsValue(),其功能是:求出这些4位数是素数的个数cnt,再把所有满足此条件的4位数依次存入数组 b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到

OUT58.DAT文件中。

例如:5591是素数,则该数满足条件,存入数组b中,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件,忽略。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:

include<stdio.h>

int a[300],b[300],cnt=0;

int isP(int m)

{

int i;

for(i=2;i<m;i++)

if(m%i==0) return 0;

return 1;

jsValue()

{

}

main ( )

{

int i;

readDat ();

jsValue();

writeDat ();

printf ("cnt=~/od\n",cnt);

for (i=0; i<cnt; i++)

printf("b[%d]=%d\n",i,b[i]);

}

readDat ( )

{

FILE *fp;

int i;

fp=fopen ("IN58. DAT", "r");

for (i=0; i<300; i++)

fscanf (fp, "%d, '", &a [i] );

fctose(fp);

}

writeDat ()

{

FILE *fp;

int i;

fp=fopen ( "OUT58. DAT", "w" );

fprintf ( fp, "%d\n", cnt);

for (i=0; i<cnt; i++)

fprintf(fp, "%d\n",b[i]);

fclose (fp);

}

点击查看答案

第5题

已知数据文件IN14.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中。请编制一个函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到OUT14.DAT文件。

例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件,忽略。

注意:部分源程序已给出。程序中已定义数组:a[300]、b[300];已定义变量:cnt。请勿改动主函数main()、读函数 readDat()和写函数writeDat()的内容。

[试题程序]

include<stdio.h>

int a[300],b[300],cnt=0;

int isP(int m)

{

int i;

for(i=2;i<m;i++)

if(m%i==0)return 0;

return 1;

}

void jsValue()

{

}

main()

{

int i;

readDat();

jsValue();

writeDat();

for(i=0;i<cnt;i++)printf("b[%d]=%d\n",i,b[i]);

}

readDat()

{

FILE *fp;

int i;

fp=fopen("IN14.DAT","r");

for(i=0;i<300;i++)fscanf(fp,"%d,",&a[i]);

fclose(fp);

}

writeDat()

{

FILE *fp;

int i;

fp=fopen("OUT14.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);

fclose(fp);

}

点击查看答案

第6题

已知数据文件IN58.DAT中存有300个4位数,并己调用读函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出这些4位数是素数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到OUT58.DAT文件中。

例如:5591是素数,则该数满足条件,存入数组b中,且个数cnt=cnt+1。

9812是非素数,则该数不满足条件,忽略。

注意:部分源程序已给出。

程序中已定义数组:a[300],b[300],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。

试题程序:

include<stdio.h>

int a[300],b[300],cnt=0;

int isP(int m)

{

int i;

for(i=2;i<m;i++)

if(m%i==0) return 0;

return 1;

}

jsValue()

{

}

main()

{

int i;

readDat();

jsValue();

writeDat();

printf("cnt=%d\n",cnt);

for(i=0;i<cnt;i++)

printf("b[%d]=%d\n",i,b[i]);

}

readDat ( )

{

FILE *fp;

int i;

fp= fopen ( "IN58. DAT", "r" );

for (i=0; i<300; i++)

fscanf(fp,"%d,",&a[i])

fclose (fp);

}

writeDat ( )

{

FILE *fp;

int i;

fp=fopen ( "OUT58. DAT", "w" );

fprintf(fp,"%d\n",cnt);

for (i=0; i<cnt; i++)

fprintf (fp, "%d\n", b[i]

fclose(fp);

}

点击查看答案

第7题

阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序, 最终得到非递减的有序序列。 函数 quicksort(int a[],int n)实现了快速排序,其中,n 个整数构成的待排序列保存在数组元素 a[0]-a[n-1]中。

【C 代码】 include < stdio.h> void quicksort(int a[] ,int n) { int i ,j; int pivot = a[0]; //设置基准值 i =0; j = n-l; while (i< j) { while (i<j &&(1)) j-- //大于基准值者保持在原位置 if (i<j) { a[i]=a[j]; i++;} while (i,j &&(2)) i++; //不大于基准值者保持在原位置 if (i<j) { a[j]=a[i]; j--;} } a[i] = pivot; //基准元素归位 if ( i>1) (3) ; //递归地对左子序列进行快速排序 if ( n-i-1>1 ) (4) ; //递归地对右子序列进行快速排序 } int main () { int i,arr[ ] = {23,56,9,75,18,42,11,67}; quicksort ( (5) ); //调用 quicksort 对数组 arr[ ]进行排序 for( i=0; i<sizeof(arr) /sizeof(int); i++ ) printf(" %d\t" ,arr[i]) ; return 0; }

点击查看答案

第8题

给定[图]个数的数组[图],其中[图],[图]为非负整数,求[...

给定个数的数组,其中为非负整数,求中的最大数. 考虑下述算法A,先把数组从中间划分成两个个数的数组,在中用同样的算法通过数之间的比较运算找最大数,如果的最大数是,的最大数是,那么就是问题的解。 假设对于个数的数组,在最坏情况下算法A的比较次数是,则的精确值是?

A、

B、

C、

D、

E、

F、

点击查看答案

第9题

以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。

#include"stdio.h"

main()

{int i,a[20],s,n;

s=n=0:

for(i=0;i<20;i++)scanf("%d",&a[i])

for(i=0;i<20;i++)

{if(a[i]<0)break;

S+=a[i];n++;

}

printf("s=%d\t,n=%d\n",s,n);

}

错误:______

改正:______

参考答案:错误

点击查看答案

第10题

已知在文件in.dat中存有若干个(个数<200)四位非零整数,函数readdat()读取这若干个整数并存入数组xx中。请编制函数calvflue(),其功能要求:①求出该文件中共有多少个正整数totnum;②求这些数右移1~6位,产生的一系列新数中含至少一个完全平方数(某个整数的平方)的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。

部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。

include<stdio.h>

include<conio.h>

define MAXNUM 200

int xx[MAXNUM];

iht totnum=0;

iht totcnt=0;

double totpjz=0.0;

int readdat(void);

void writedat(void);

void calvalue(void)

{

}

void main ()

{

int i;

clrscr ();

for (i=0; i if (readdat ())

{

printf("Can't open the data file in.dat!\007\n");

return;

}

calvalue ();

printf ( "totnum=%d\n", totnum);

printf ( "totcnt=%d\n" , totcnt );

printf ( "totpj z=%. 21f\n", totpj z);

writedat ();

}

int readdat (void)

{

FILE *fp;

int i=0;

if( (fp=fopen ("in.dar", "r") )==NULL) return 1;

while ( ! feof (fp))

fscanf (fp, "%d, ", &xx [i++] ;

fclose (fp);

return 0;

}

void writedat (void)

{

FILE *fp;

fp=fopen ( "out. dar", "w" )

fprint f ( fp, "%d\n%d\n%. 21 f\n", totnum, totcnt, totpjz);

fclose (fp);

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案