首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
2019-04-14
66
问题
请编写函数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()
{
FILE *wf;
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(″\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
);
fclose(wf);
/* * * * * * * * * * * * * * * */
}
选项
答案
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/V1Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在深度为5的满二叉树中,结点的个数为
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。【】(double,double);main(){doublex,y;scanf("%1f%1f",&x,&y);printf("
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortra
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有下图所示的链表结构:指针p指向变量a,指针q指向变量c,
函数fun的返回值是()。fun(char*a,char*b)intnum=0,n=0;while(*(a+num))!=’\0’)num++;while(b[n]){*(a+num)=b[n];num++
在下列叙述中,正确的一条是______。
在面向对象方法中,()描述的是具有相似属性与操作的一组对象。
下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
下列叙述中,不属于软件需求规格说明书的作用的是
以下叙述中正确的是______。
随机试题
若正项级数__________.
下列实验室方法中哪种可确诊艾滋病
属于上皮组织来源的肿瘤是
在球罐的组装方法中,()适用于400m3以上的球罐组装,是目前国内应用最广、技术最成熟的方法。
某施工单位承担了我国东南某地直埋光缆线路工程,采用包工不包料的方式承包。项目负责人在开工前组织全体施工人员开会,由现场勘察人员进行了安全技术交底,并指定由质量负责人兼任安全员,会议没有做书面记录,会后按照分工分别投入工程施工。在材料进场检验时,检验人员仔
经预检的货物,在向检验检疫机构办理换证放行手续时,应提供该检验检疫机构签发的( )。
下列纳税义务人,应当按照规定到主管税务机关办理自行纳税申报的有()。
下列关于迟到的表述不正确的是()。
组织对关键产品的潜在供方实施的审核属于()。
国际上将65岁以上人口占总人口的比重达到7%作为国家或地区进入老龄化社会的标准。中国是世界上老龄人口最多的国家。截至2016年年底,我国60岁及以上老年人口数接近2.4亿。中国步人老龄化社会使独生子女一代面临着巨大的工作和生活压力。近年来,健康老龄化的观念
最新回复
(
0
)