首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素,变量n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:
假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素,变量n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:
admin
2017-02-24
27
问题
假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素,变量n中存放数列中元素的个数。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 2 0
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<n;i++)
/*********found*********/
a[i+1]=a
;
return n-1;
}
}
void 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
);
printf("\nInput x(to delere):");
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
);
printf("\n\n");
}
}
选项
答案
(1)if(p==n)return—1; (2)a[i]=a[i+1];
解析
(1)需要确定if条件语句的条件表达式,发现变量p大写,C语言中变量是区别大小写的。
(2)删除数列中的元素,删除后,后面的元素依次前移一个位置,因此此处应为a
=a[i+1];
转载请注明原文地址:https://kaotiyun.com/show/cMDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在下列语句中,其含义为“q为一个指针的函数,该指针指向整型数据”的定义语句是()。
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
有以下程序#include<stdio.h>main(){intc;while((c=getchar())!=’\n’){switch(c-’2’){case0:case1:pu
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],I;for(I=0;I
下面程序的运行结果是【】。#include#defineSIZE12main(){chars[SIZE];intI;for(I=0;I
以下程序的输出结果是【】。#includevoidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){inti=3,j=5,*p=&i,
阅读以下程序及对程序功能的描述,其中正确的是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n"
下列程序的输出结果是#include"stdio.h"#defineN3#defineM3voidfun(inta[M][N]){printf("%d\n",*(a[1]+2));}main(){inta
下列函数的运行结果是main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b
若有定义intw[3][5];,则以下不能正确表示该数组元素的表达式是
随机试题
阿昔洛韦为()。
受压杆件在下列各种支承情况下,若其他条件完全相同,其中临界应力最小的是()。
资产负债表是反映企业一定日期财务状况的( )。
通常,股价的变化要()发行公司盈利的变化。
2×20年1月1日,B公司为其100名中层以上管理人员每人授予100份现金股票增值权,这些人员从2×20年1月1日起必须在该公司连续服务2年,即可自2×21年12月31日起根据股价的增长幅度获得现金。该增值权应在2×22年12月31日之前行使完毕。B公司2
甲、乙两人站在匀速上升的自动扶梯从底部向顶部行走,甲每分钟走扶梯的级数是乙的2倍;甲走了36级到达顶部,而乙则走了24级到顶部。那么,自动扶梯有多少级露在外面?()
下列关于输入流类成员函数getline()的叙述中,错误的是
A、Theambitiontobecomethegreatestmagician.B、Therealitythathefailedinaswimmingrace.C、ThemagicianHoudiniandhis
Thestatement"Americansbathezealously"(Line1,Para.1)isclosesttosaying______.Abathwillnotkillthebacteriafrom
A、BecausetheystrolledundertheParismoon.B、Becauseshehadaninvitationfromherson.C、Becauseshedancedwithherson.D
最新回复
(
0
)