首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
admin
2018-09-10
49
问题
请编写函数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 N80
int fun(int a[],int n)
{
}
void main()
{
FILE*wf;
int a[N]=t2,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("\nThe data after deleted:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
printf("\n");
/****************/
wf=fopen("out.dat","w");
for(i=0;i<n;i++)
fprintf(wf,"%3d",a
);
felose(wf);
/****************/
}
选项
答案
int fun(int a[],int n) { int i,j=1; f10r(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/7Vxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
有以下程序main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;K--;}printf("%d,%d\n",k,n);
语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【】。
下面程序的输出结果是______。main(){intx=0x48;printf("%d\n",--x);}
对长度为n的线性表进行顺序查找,在最坏的情况下需要比较的次数为()。
下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】==’’)flag=0;
在C语言中,整数65534在存储单元中的存储情况是()
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
在关系模型中,把数据看成是二维表,每一个二维表称为一个()。
一个良好的算法由下面的基本结构组成,但不包括______。
随机试题
只有当片式摩擦离合器向左或者向右压紧时,闸带制动器方能制动主轴的正转或反转运动。( )
PLC控制系统运行日志是围绕着设备的安装、调试、运行、保养、维修等项内容填写
我国婚姻法规定,结婚的法定条件是()。
ThebookwastranslatedfromChineseintoEnglishunderthesupervisionoftheauthorhimself.personal
女性,34岁,2年来月经量多,乏力、心悸。检查面色较苍白。血红蛋白70g/L,呈小细胞低色素性贫血,白细胞8×109/L,血小板110×109/L,血清铁300μg/L治疗首选
200年5月8日,卫某骑车回家经过一工地时,掉入没有设置明显标志和采取安全措施的坑中,造成骨折。卫某于同年6月10日找到建设项目的发包人和承包人要求赔偿,两单位相互推诿。同年6月13日,卫某前往法院起诉,突遭台风袭击,中途返回。下列说法正确的是()
水利工程施工企业总公司管理人员差旅交通费属于()。
商业银行销售理财产品管理要求,应当遵守以下()规定。
某市一化妆品生产企业(增值税一般纳税人)2021年11月10日以赊销方式销售一批高档化妆品,不合增值税价款为100万元,合同约定客户于2021年12月20日付清款项;但客户因资金紧张仅在12月支付了60%的价款。已知高档化妆品消费税税率为15%。该企业12
A、HecamefromFlorida.B、Hehasbeenhappysinceherelocatedhere.C、Hehasbeenhereforalmostayear.D、Hehasn’tgotused
最新回复
(
0
)