首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 1
请编写函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 1
admin
2010-09-14
32
问题
请编写函数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)
{
}
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 original data : \n");
for(i=0; i<n; i++)
printf ("%3d", 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=l; for (i=1; i<n; i++) if (a[j-1] !=a[i]) /*若该数与前一个数不相同,则要保留*/ a[j++]=a [i]; return j; /*返回不同数的个数*/ }
解析
本题程序的流程是:让i,j都从1开始,其中j用于控制删除后剩下的数中的下标,i用于搜索原数组中的元素。j始终是新数组已有元素中最后一个元素的下一个元素的下标,所以if()中的条件是a[j-1]!=a
,其中a[j-1]就是新数组中的最后一个元素,若条件成立,则表示出现了不同的值,所以a
要留下到新数组中。注意本题中i,j的初值都要从1开始,该算法只能用于数组已排序的题目中。
转载请注明原文地址:https://jikaoti.com/ti/yIkiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
金融市场最基本的功能是()。
宪法作为国家根本大法要求其必须具有更高的稳定性.因此宪法的修改程序相对于其他法律也是更为严格的。我国宪法的修改权由()行使。
能直接证明门捷列夫元素周期表理论正确的是(,)。
《上海县竹枝词》有诗云:“卅年求富更求强,造炮成船法仿洋。海面未收功一战,总归虚牝掷金黄。”与上述内容有关的历史事件是()。
“九鼎既成,迁于三国。夏后氏失之,殷人受之;殷人失之,周人受之。”其中所说的“九鼎”之所以被广泛重视并在夏商周流转,主要因为它是()。
张某因逆行驾驶被交通警察李某拦截.李某口头作出罚款200元的处罚决定,并要求当场缴纳。张某要求出具书面处罚决定和罚款收据,李某认为其要求属于强词夺理,拒绝听取其申辩。关于该处罚决定,下列哪个说法是正确的?()
消化系统是保证人体新陈代谢正常进行的一个重要系统,是由消化管和消化腺两大部分组成,下列器官或腺体不属于消化系统的是()。
某书店出售一种挂历,每售出1本可得18元利润。售出一部分后每本减价10元出售,全部售完。已知减价出售这种挂历本数是原价出售挂历的三分之二。书店售完这种挂历共获得利润2870元,书店一共出售这种挂历多少本?
网络用语从一开始就不是交际语言。文字和语言的性质是不一样的,语言本质上是用声音符号做物质外壳的,文字则是用来记录有声语言的。世界上大多数语言并没有文字,这些语言也就不会有网络用语。文字有记录、保存语言的功能,并能远距离传送,网络主要利用文字来实现即时的远距
下图为我国东部沿海地区某城市功能区分布略图,若图中城镇规划合理,避免了工业大气污染对住宅区的影响,则其指向标是()。
随机试题
一婴儿能独坐,并坐得很稳,但不会爬,能无意识地发出复音,认识生熟人,不能听懂自己的名字。人工喂养时,下列哪一点是不恰当的
设f(χ)在χ=0的某邻域内有定义,且满足=0,求极限.
关于重建间隔(层间隔)的概念,错误的是
腺腔延伸到细胞之间形成
在五输穴中,合穴主要治疗
土地使用权出让方式中,()方式适用于需要优化土地布局、重大工程的较大地块的出让。
根据《基础地理信息数据档案管理与保护规范》,归档的基础地理信息数据成果应包含()。
监理工程师进行计量的工程项目不包括()
尽管在人类社会发展的一定历史阶段,资本主义极大地促进了生产力发展,但从历史的长河看,资本主义终究要为新的更加美好的社会所取代,这是历史发展的基本趋势。这个更加美好的社会,马克思主义经典作家称其为共产主义,其初级阶段是社会主义。资本主义的内在矛盾决定了资本主
某无线电厂生产的一种高频管,其中一项指标服从正态分布N(μ,σ2),从一批产品中抽取8只,测得该指标数据如下:66,43,70,65,55,56,60,72.(1)总体均值μ=60,检验σ2=82(取α=0.05);(2)总体
最新回复
(
0
)