首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定整数数列中的数不重复,并存放在数组中。给定程序MODII.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程
假定整数数列中的数不重复,并存放在数组中。给定程序MODII.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程
admin
2013-04-02
60
问题
假定整数数列中的数不重复,并存放在数组中。给定程序MODII.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#define N 20
int fun(int *a,int n,int x)
{int p=0,i;
a[n]=x;
while(x!=a[p])
p=p+1;
/**********found**********/
if(P==n) return -1;
else
{for(i=p;i
/**********found**********/
a[i+1]=a
;
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
);
printf("\nInput x (to delete): "); scanf("%d",&x);
printf("Delete : %d\n",x);
n=fun(w,n,x);
if (n==-1) printf("***Not be found!***\n\n");
else
{printf("The data after deleted:\n");
for(i=0;i
);printf("\n\n");
}
}
选项
答案
if(p==n) return -1; a[i]=a[i+1];
解析
(1)第一标识下“if(P==n) return -1;”中变量P没有定义,编译时会提示出错。根据题意,这里是判断p是否已经到了字符串的末尾,即是否存在值为x的元素,如果不存在则返回-1,故第一标识下应改为“if(p==n) return -1;”。
(2)“for(i=p;i
;”循环语句实现的功能应该是p前面元素前移的操作,根据题意,删除数列中值为x的元素后,应该是后面的字符往前面移动,因此应该将“a[i+1]=a
;”改为“a
=a[i+1];”,即后一个元素值赋给前一个元素。
转载请注明原文地址:https://kaotiyun.com/show/KPJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序段的运行结果是()。char*p="%d,a=%d,b=%d\n";inta=111,b=10,c;c=a%b;p+=3;printf(p,c,a,b);
有以下程序: #include <string.h> struct STU (char name[10]; int num; }; void f(char *name, int num) {struct
有以下程序: #include <strino.h> struct STU {int num; float TotalScore; }; void f(struct STU p) {struct STU
有以下程序: #include <stdio.h> main() {char c1=’1’,c2=’2’; c1=getchar();c2=getchar();putchar(c1);putchar(c2); }
以下叙述中错误的是 ______。
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为[]。
有以下程序 main() {int i,s=0,t[]={1,2,3,4,5,6,7,8,9 }; for(i=0;i<9;i+=2) s+=*(t+i); printf("%d\
有以下程序 main() {int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3; printf("%d,%d,%d,%d\
以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。请填空。main(){intx,y,z,max,*px,*py,*pz,*pmax;scanf("%d%d%d",&x,&y,&z
随机试题
以下哪项不是参与DNA复制的酶()
有关甲亢术后甲状腺危象的说法中,下列哪项是错误的
藻酸盐印模材料有粉剂和糊剂两种,是目前国内常用的印模材料未调拌的藻酸盐印模糊剂中必须含有下列哪种物质
工业上净化CO、SO2、NOx、HF、SiF4、HCI、C12、NH3、Hg蒸汽、酸雾、沥青烟及有机蒸汽常用()。
关于劳动合同,下列说法错误的是:
关于无线微波扩频技术,以下_______是错误的。
Thelastdecadehasseenatremendousexpansionofscientificknowledgeinhumangenetics.Ourunderstandingofhumangenesand
Inamovetodisseminatefacultyresearchandscholarshipmorebroadly,theFacultyofArtsandSciences(FAS)votedonTuesdayto
1Sincetheearly1930s,Swissbankshadpridedthemselvesontheirsystemofbankingsecrecyandnumberedaccounts.Overthe
Theaccident______himofhissightandtheuseofhislegs.
最新回复
(
0
)