首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
98
问题
请编写函数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全国计算机二级
相关试题推荐
若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是
E-R图是数据库设计的工具之一,它一般适用于建立数据库的______。
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortra
有定义语句:intx,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中错误的是______。
视图设计一般有3种设计次序,下列不属于视图设计的是______。
若要使指针p指向一个double类型的动态存储单元,请填空。p=【】malloc(sizeof(double));
在下列叙述中,正确的一条是______。
以下叙述中错误的是
软件开发的结构化生命周期方法将软件生命周期划分成
下列说法正确的是()。
随机试题
多媒体技术处理的媒体元素主要包括________、图像、动画、声音和视频等信息。
男,68岁。上中腹持续胀痛3个月,平卧加重,巩膜黄染逐渐加深,尿深黄,粪便灰白色,伴有皮肤瘙痒,体重减轻7kg。查体:腹软,有季肋下2cm触及胆囊,Murphy征(-)。最可能的诊断是
中心静脉压高而动脉压在正常范围,反映
从长远来看,欧盟征收银行税的风险警示意义要远远大于其现实的经济意义。对于中国而言,征收银行税短期内并不现实,但这并不等于我们可以对金融机构的风险疏于管理,中国金融业高盈利的成绩下面同样蕴藏着非常大的潜在风险。30年来,中国银行存款资金来源充足,但投资需求增
坝基防渗帷幕深度应考虑各种影响因素决定,下列对决定防渗帷幕深度所需考虑的诸因素中,()是不正确的。
《证券公司客户资产管理业务试行办法》规定,集合计划资产不得被处分。()
某小区人夏以来蚊子突然增多,物业服务企业对小区的公共区域及小区周边进行了灭蚊消杀处理,但蚊害依然严重。通过进一步检查,物业服务企业发现该小区某栋15楼一空置房的阳台有大量积水,怀疑此区域为蚊子孳生源。物业管理项目机构立刻与该户业主取得联系,在业主的配合
下列各进制数中最大的数是()。
你和小张以前平级,后来通过竞争上岗考试,你当了领导,小张心中不满,经常找理由请假。引来同事不少议论。说你与小张有私怨。你怎么办?
9,15,(),25,27,33
最新回复
(
0
)