首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。 数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。 数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9
admin
2018-03-28
13
问题
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
int fun(int a[],int n)
{
}
VOid main()
{
int a[N]={2,2,2,3,4,4,5,6,6,6,6,
7,7,8,9,9,10,10,10,10),i,n=20;
printf("The origina2 data:\n");
for(i=0;i<n;i++)
printf("%3 d",a
);
n=fun(a,n);
printf("\n\nThe data after
deleted:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
printf("\n\n");
}
选项
答案
int fun(int a[],int n) { int i,j=1; for(i=1;i<n ; i++) if(a[j一1]!=a[i]) /*若该数与前一个数不相同,则要保留*/ a[j++]=a[i]; return j; /*返回不相同数的个数*/{ }
解析
该程序的流程是:定义变量i和j,其中j用于控制删除后剩下的数在数组中的下标,i用于搜索原数组中的元素。j始终是新数组中最后一个元素的下一个元素的下标,所以if语句中的条件是a[j—1]!=a
,其中a[j—1]就是新数组中的最后一个元素,若条件成立,则表示出现了不同的值,所以a
要保留到新数组中。注意本题中i和j的初值都要从1开始,该算法只能用于数组已排序的题目中。
转载请注明原文地址:https://kaotiyun.com/show/jxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果是【】。intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[0];}main(){int
有以下程序:#include<stdio.h>fun(intx,inty,intz){z=x*y;}main(){inta=4,b=2,c=6;fun(a,b,c);p
若程序中定义了以下函数:doublemyadd(doublea,doubleB){return(a+B);}并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______
以下函数调用语句中实参的个数是()func((exp1,exp2),(exp3,exp4,exp5));
若有以下定义和语句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。structdate{intday;intmonth;intyear;union{intshare1;
以下程序运行后的输出结果是_________。main(){inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}inti=0,j=0,s=0;w
有以下程序:#include<stdio.h>prt(int*m,intn)inti;for(i=0;i<n;i++)m[i]++;main()}inta[]={1,2,3,4,5},i;p
下列语句的输出结果是______。charS[20]="aaaa",*sp=s;puts(strcat(sp,"AAAAA"));
若要求从键盘读入含有空格字符的字符串,应使用函数
随机试题
AIDS患者痰液检查中常可见
女,46岁。右小指被鱼刺刺伤后肿胀、疼痛2天。体检:小指呈半屈位,被动伸直小指时剧痛。诊断为
肉眼观察肾体积明显缩小,质地变硬,表面有大的不规则凹陷瘢痕,该病变性质最可能是
女,46岁,糖尿病史3年,经饮食治疗并服二甲双胍,病情控制良好。近日受凉后发热,咳嗽,咳黄痰,X线检查为右下肺炎。血糖18.6mmol/L,尿糖++++。对该患者除治疗肺炎外,糖尿病的处理应
活动后左腰部绞痛,伴肉眼血尿、恶心、呕吐。首先考虑的疾病是
经营者进行价格活动,应当遵循法律、法规,执行( )。经营者不得( )。
煤矿的“一通三防”是指通风、防治瓦斯、防治粉尘、________。()
耐克形象平面文案稿我,不要一刻钟的名声,我要一种生活。我不愿成为摄影镜头中的引人注目者,我要一种事业。我不想抓住所有我能拥有的,我想有选择地挑选最好的。我不想出售一个公司,我想创建一个。我不想和一个模特儿去约会。那么我的确想和一群模特儿去约会。
四川泸州龙脑桥建于()。
阅读《我的叔叔于勒》的课例讲评(节选),按要求答题。本文除了以精妙的构思吸引人,更以其丰满的人物形象塑造让人印象深刻。理解人物最好的方法是品读细节,抓住人物的语言、动作、神态、心理去品析。要给予学生充分的时间和自由读好文本,这是对话的基础。我在教
最新回复
(
0
)