首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
37
问题
请编写函数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://kaotiyun.com/show/GWID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列有关饮食的说法错误的是()。
在当事人没有约定、法律亦无特别规定的情况下,买卖合同中的财产所有权的转移时间是()。
法院审理一起受贿案时,被告人甲称因侦查人员刑讯不得已承认犯罪事实,并讲述受到刑讯的具体时间。检察机关为证明侦查讯问程序合法,当庭播放了有关讯问的录音录像,并提交了书面说明。关于该录音录像的证据种类,下列哪一选项是正确的?()
宪法作为国家根本大法要求其必须具有更高的稳定性.因此宪法的修改程序相对于其他法律也是更为严格的。我国宪法的修改权由()行使。
近代中国思想界的“西学东渐”经历了一个由理论到实践、由照抄照搬到与中国实际情况相结合的发展历程。下面体现这两个步骤的标志性事件分别是()。
以下历史事件发生的先后顺序排列不正确的是()。
a、6为自然数,且56a+392b为完全平方数,a+b的最小值是多少?
某校按字母A到Z的顺序给班级编号,按班级编号加01、02、03……给每位学生按顺序定学号,若A—K班级人数从15人起每班递增1名,之后每班按编号顺序递减2名,则第256名学生的学号是多少?
网络用语从一开始就不是交际语言。文字和语言的性质是不一样的,语言本质上是用声音符号做物质外壳的,文字则是用来记录有声语言的。世界上大多数语言并没有文字,这些语言也就不会有网络用语。文字有记录、保存语言的功能,并能远距离传送,网络主要利用文字来实现即时的远距
随机试题
最易形成潜伏感染的病原体是()
痛泻要方中配伍防风的用意是
关于皮层体表感觉区的叙述,下列哪项是错误的?
乳腺癌扩大根治术的切除范围包括
甲状旁腺素的主要功能在于升高血钙和降低血磷,其发挥作用的靶器官主要是
患者住院治疗已一周,卧床未下地活动,护士可以在患者病历首页的体温单上见到
小儿咽鼓管的特点是()
甲公司2012年度财务报告经董事会批准对外公布的日期为2013年4月5日,实际报出日为4月7日。2013年甲公司发生的下列事项应作为资产负债表日后调整事项的有()。[2014年6月真题]Ⅰ.2013年4月6日宣告分派股票股利Ⅱ.2013年4月6日
“法的继承体现时间上的先后关系,法的移植则反映一个国家对同时代其他国家法律制度的吸收和借鉴,法的移植的范围除了外国的法律外,还包括国际法律和惯例。”据此,下列哪些说法是正确的?()
[*]
最新回复
(
0
)