题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-03-17 01:52:24

[填空题]假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun( )的功能是:删除数列中值为X的元素。 N中存放的是数列中元素的个数。
请改正程序中的错误,使它能够得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#define N 20
fun (int *a,int n,int x)
int p=0,i;
a[n]=x;
while (x!=a[p])
p=p+1;
if(p==n) return -1;
else
for (i=p;i<n;i++)
/*************found**************/
a[i+1]=a[i];
return n-1;


main( )
int w[N]=-3,0,1,5,7,99,10,15,30,90,
x,n,i;
n=10;
printf("The original data :/n");
for (i=0;i<n;i++) printf("%5d",w[i]);
printf("/nInput x (to delete ): ");
scanf("%d",&x);
printf("Delete : %d/n",x);
n=fun(w,n,x);
if (n==-1) printf("***No be found!
***/n/n");
else
printf("The data after deleted:/n");
for (i=0;i<n;i++) printf("%5d",
w[i]);printf("/n/n");


更多"假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun"的相关试题:

[填空题]假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun( )的功能是:删除数列中值为X的元素。 N中存放的是数列中元素的个数。 请改正程序中的错误,使它能够得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #define N 20 fun (int *a,int n,int x) {int p=0,i; a[n]=x; while (x!=a[p]) p=p+1; if(p==n) return -1; else {for (i=p;i<n;i++) /*************found**************/ a[i+1]=a[i]; return n-1; } } main( ) {int w[N]={-3,0,1,5,7,99,10,15,30,90}, x,n,i; n=10; printf("The original data :/n"); for (i=0;i<n;i++) printf("%5d",w[i]); printf("/nInput x (to delete ): "); scanf("%d",&x); printf("Delete : %d/n",x); n=fun(w,n,x); if (n==-1) printf("***No be found! ***/n/n"); else {printf("The data after deleted:/n"); for (i=0;i<n;i++) printf("%5d", w[i]);printf("/n/n"); } }
[填空题]N个有序整数数列已放在一维数组中,给定下列程序中,函数fun( )的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值:反之,则返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。直到low>high,查找结束。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #define N 10 /*************found*********************/ void fun(int a[],int m) { int low--0,high=N-l,mid; while (low<=high) { mid=(low+high)/2; if(m<a[mid]) high=mid-1; /*************found*********************/ else if(m>=a [mid]) low=mid+1; else return(mid); } return(-1); } main ( ) { int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m; printf ("a数组中的数据如下: "); for(i=0;i<N;i++) printf("%d",a[i]); printf ("Enter m: "); scanf ("%d", &m); k=fun (a,m); if (k>=0) printf ("m=%d, index=%d/n",m, k); else printf("Not be found!/n"); }
[简答题]由N个有序整数组成的数列已放在一维数组中,下列给定程序中,函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low(high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>hjgh,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
/********found********/
void fun(int all,int m)

int low=0,high=N-1,mid;
while(low<=high)

mid=(low+high)/2;
if(m<a[mid])
high=mid-1;
/********found********/
else If(m>a[mid])
low=mid+1;
else return(mid);

return(-1);

main( )

int i,a[N]=(-3,4,7,9,13,45,67,89,100,180],k,m;
printf("a数组中的数据如下:");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("Enter m:");
scanf("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=%d/n",m,k);
else printf("Not be found!/n");

[单项选择]正整数数列6、a、b、16,前三项成等差数列,能确定后三项成等比数列。()
(1)4a-3b=0 (2)a,b是方程x2+3x-4=0的两个根
A. 条件(1)充分,但条件(2)不充分
B. 条件(2)充分,但条件(1)不充分
C. 条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分
D. 条件(1)充分,条件(2)也充分
E. 条件(1)和(2)单独都不充分,条件(1)和条件(2)联合起来也不充分
[单项选择]整数数列a,b,c,d中a,b,c成等比数列,b,c,d成等差数列.()
(1) b=10,d=6a (2) b=-10,d=6a
A. 条件(1)充分,但条件(2)不充分.
B. 条件(2)充分,但条件(1)不充分.
C. 条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分.
D. 条件(1)充分,条件(2)也充分.
E. 条件(1)和(2)单独都不充分,条件(1)和条件(2)联合起来也不充分.
[单项选择]整数数列a,b,c,d中,a,b,c成等比数列,则b,f,d成等差数列.()
(1)b=10,d=6a; (2)b=-10,d=6a.
A. 条件(1)充分,但条件(2)不充分.
B. 条件(2)充分,但条件(1)不充分.
C. 条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分.
D. 条件(1)充分,条件(2)也充分.
E. 条件(1)和(2)单独都不充分,条件(1)和条件(2)联合起来也不充分.
[简答题]编写一个函数fun( ),其功能是求出1到~之间(含m)能被7或11整除的所有整数,放在数组a中,然后通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
#include<stdio.h>
#define M 100
void fun(int m,int *a,int *n)


main( )
int aa[M],n,k;
void NONO( );
fun(50,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==O)printf("/n");
else printf("%4d",aa[k]);
printf("/n");
NONO( );

[简答题][说明]
假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]
其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数、1表示负数。
运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。
[函数]
int cmp(int *LA, int *LB);
/*比较长整数LA与LB的绝对值大小*/
/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/
int ADD (int *LA, int *LB, int *LC)
/*计算长整数LA与LB的和,结果存储于LC中*/
/*注意:正数与负数的和相当于正数与负数绝对值的差*/
/*数据有误返回0,正常返回1*/

if(LA == NULL || LB == NULL || LC == NULL)return 0;
int *pA, *pB, i, N, carry, flag;
flag = LA[0] + LB[0];
switch(flag) /*根据参与运算的两个数的符号进行不同的操作*/
case 0:
case 2:
Lc[0] = LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/
pA = LA;
pB = LB;
(1) ;
break;
case 1: /*LA与LB异号*/
/*比较两者的绝对值大小,结果符号与较大者相同*/
flag = (2) ;
if(flag > 0) /*LA较大*/
LC[0] = LA[0];
pA = LA;
pB = LB;

else if(flag < 0)(/*LB较大*/
[简答题]请编写一个函数fun( ),它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为50,则程序输出:
7 11 14 21 X 28 33 35 42 44 49
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#define M 100
void fun(int m, int *a, int *n)

main( )

int aa[M],n,k;
clrscr( );
fun(50,aa,&n);
for(k=0;k<n; k++)
if((k+1)%20==0) /*每行输出20个数*/
printf("%4d",aa[k]);
printf("/n");

else
printf("%4d",aa[k]);
printf("/n");

[简答题]填空题 从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun( )。请补充函数fun( ),该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun( )返回。 例如:当xx[8]={123,11,25,222,42,333,14,5451}时, bb[4]={25,42,333,5451}。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 int fun(int xx[],int bb[],int num) { int i, n=0; int g, s; for(i=0;i5) 【2】; } return【3】; } main( ) { int xx[N]; int yy[N]; int num=0,n=0,i=0; printf("Input number :/n"); do { scanf("%u",&xx[num]); } while(xx[num++]!=0); n=fun(xx,yy,num); printf("/nyy="); for(i=0;i
[填空题]从键盘:输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun( )。请补充函数fun( ),该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun( )返回。
例如:当xx[8]=<123,11,25,222,42,333,14,5451时,
bb[4]=25,42,333,5451。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 1000
int fun(int xx[ ],int bb[ ],int num)

int i,n=0;
int g,s;
for(i=0;i<num;i++)

g= 【1】
s=xx[i]/10%10;
if((g+s)>5)
【2】

return 【3】

main( )

int xx[N];
int yy[N];
int num=0,n=0,i=0;
printf("Input number:/n");
do

scanf("%u",&xx[num]);

while(xx[num++]!=0);
n=fun(xx,yy,num);
printf("/nyy=");
for(i=0;i<n;i++)
printf("%u",yy[i]);

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码