首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
43
问题
请编写函数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全国计算机二级
相关试题推荐
下面关于蛋白质分子结构与功能的叙述。错误的是()。
根据我国相关法律的规定,()的行政处罚只能由法律加以设定。
下列有关利率的说法,错误的是()。
在当事人没有约定、法律亦无特别规定的情况下,买卖合同中的财产所有权的转移时间是()。
假定其他条件不变,下列因素中不会导致货币升值的是()。
根据国务院办公厅部分节假日安排的通知,某年8月份有22个工作日,那么当年的8月1日可能是:
用1到7的数字组成一个六位数密码,密码中每个数字只使用一次。在所有可能的密码排列中,能被3整除的数字占所有可能的排列数的比重为:
一个三位数除以53,商是a,余数是b(a,b都是正整数),则a+b的最大值是()。
从1,2,3,4,5,6,7中任取2个数字,分别作为一个分数的分子和分母,则在所得分数中不相同的最简真分数一共有多少个?()
设a,b均为正整数,且有等式11a+7b=一132成立.则a的值为()。
随机试题
法律、法规或者规章授权行使行政职权的行政机关内设机构、派出机构或者其他组织,超过法定授权范围实施行政行为,当事人不服提起行政诉讼,应以()为被告。
下列各数制的数中,最大的数是()
A.近3个月内劳力诱发的心绞痛的频率和程度加重,对硝酸甘油的需求增加B.心绞痛发作与体力活动无关,可出现短暂ST段抬高C.心绞痛的发作与劳累有关,其性质在1~3个月内无改变D.既往无心绞痛或心肌梗死病史,近1~2个月内劳累时出现心绞痛E.劳累和休息
心力衰竭合并肾衰竭患者利尿药物首选()
根据下面资料回答问题。2009年1~7月全国房地产市场运行情况房地产开发完成情况1~7月,全国完成房地产开发投资17720亿元,同比增长11.6%,增幅比1~6月提高1.7个百分点,比去年同期回落19.3个百分点。其中,商品
启发性原则是为了处理好教学获得新知识与保持旧知识之间的矛盾而提出的。
下列属于认知策略的有()
公安领导工作,主要是指( )所从事的工作。
某高中只有文科班和理科班,男生人数比女生多,理科班人数比文科班多。根据以上条件,可以判断下列说法必定为真的是()。
关于栈的描述,以下选项中正确的是
最新回复
(
0
)