首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定整数数列中的数不重复,并存放在数组中。给定程序MODII.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程
假定整数数列中的数不重复,并存放在数组中。给定程序MODII.C中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程
admin
2013-04-02
67
问题
假定整数数列中的数不重复,并存放在数组中。给定程序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全国计算机二级
相关试题推荐
请阅读以下程序:#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0
有以下程序: #define f(x)(x*x) main() { int i1,i2; il=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2);
有以下程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。
下列数据结构中,能用二分法进行查找的是 ______。
有以下程序 int fun(int n) { if(n=1) return 1; else return(n+fun(n-1)); } main(
有以下程序 main() {int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++)
有以下程序 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\
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
以下数组定义中错误的是______。
随机试题
以人为本集中体现了马克思主义历史唯物论的基本原理,体现了我们党全心全意为人民服务的根本宗旨和推动经济社会发展的根本目的。以人为本()
持房屋所有权证书的权利人,抵押共有房屋,可以不经其他共有人同意;持房屋共有权证书的房屋共有人抵押共有房屋,必须经其他共有人同意。()
一个3km长的隧道进行对向贯通,横向贯通误差限差应为()。
涉税鉴证事项符合()情形的,税务师应当出具保留意见的鉴证业务报告。
收入是企业在销售商品、提供劳务费、让渡资产使用权等日常活动中所形成的经济利益的总流入,它包括为第三方或客户代收的款项。()
在健美操教学中,运用()时,教师应围绕教材或本课要解决的问题或学生提出的各种问题,引导学生正确思考,激发兴趣。
1个葡萄糖分子有氧呼吸释放的能量为m,其畸40%用于ADP转化为ATP,若1个高能磷酸键所含能量为n,则1个葡萄糖分子在有氧呼吸中产生的ATP分子数为()。
中国革命的发生不是偶然的,它有着深刻的社会根源和雄厚的群众基础,中国革命胜利的原因是()
Thisvillagewhichissurroundedbymountainsisonly______byriver,anditisobviousthatthetransportationisinconvenient
中国等发展中国家向美国提了大量价廉物美的商品,是美国传统制造业腾出财力物力用于发展高新技术。这加快了美国工业的升级换代,推进了美国产业结构的优化,使美国及时摆脱传统工业的束缚,保持了它在世界经济中的领先地位。因此,中国的出口不会威胁美国的经济。
最新回复
(
0
)