首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
11
问题
请编写函数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全国计算机二级
相关试题推荐
以下函数调用语句中实参的个数是()func((exp1,exp2),(exp3,exp4,exp5));
下列选项中,不是一个算法的基本特征的是()。
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 【】(double,double); main( ) {doublex,y; scanf("%lf%lf",&x,&y); printf("%lf\n",ma
若有以下定义和语句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。structdate{intday;intmonth;intyear;union{intshare1;
执行以下程序后sum的值是【】。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
以下程序运行后的输出结果是_________。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
以下叙述中正确的是()。
以下四个选项中,不能看作一条语句的是()。
下列关于队列的叙述中正确的是
随机试题
下列企业与甲公司有如下关系,其中不应纳入甲公司合并报表合并范围的有
阴闭的病因是
A.呈二叉状分枝,粗枝表面有明显的环状裂纹B.不呈二叉状分枝,两侧有细短的侧枝密生C.呈滴乳状、油滴状或不规则小块,淡黄白色,与水共研形成白色乳状液D.呈不规则颗粒状或黏结成团块,表面红棕色,与水共研形成黄棕色乳状液E.主产于印度尼西亚和马来西亚,
A、维生素B6B、维生素AC、维生素B1D、维生素CE、维生素B2结构中含有异咯嗪环的是()。
酒花变质风险由()承担海上货物运输由()负责安排
中外合资经营企业在下列哪些情形下解散?()
根据《开发区区域环境影响评价技术导则》,开发区区域环境保护对策包括对开发区规划目标、规划布局、总体发展规模、产业结构以及环保基础设施建设的调整方案,下列关于调整方案的说法错误的是()。
在1948年9月召开的中共中央政治局会议上,毛泽东说,我们“不必搞资产阶级的议会制和三权鼎立等”,这套东西“袁世凯、曹锟都搞过,已经臭了”,我们应当“建立民主集中制的各级人民代表会议制度”。毛泽东这段话要回答的是即将成立的新中国的()。
有以下程序:#jnclude<stdio.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];returnm
有以下定义语句,编译时会出现编译错误的是()。
最新回复
(
0
)