首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
42
问题
请编写函数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全国计算机二级
相关试题推荐
设X为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。
若有以下程序main(){chara;a=’H’-’A’+’0’;printf("%c\n",a);}执行后输出结果是【】。
执行下列语句段后,x的值是________。int*p,x:x=100;p=&x;x=*p+50;
已知i、j、k为血型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
若有定义inta[10],*p=a,则p+6表示()。
静态测试是一种重要的测试方式,可以发现30%到70%的逻辑设计和编码错误。下面()不属于静态测试?
现在有以下定义,inta;doubleb;floatc;chark;则下面的表达式a/b+c-k值的类型为:
以下四个选项,不能看作一条语句的是()。
数据库、数据库系统和数据库管理系统之间的关系是()。
随机试题
情绪的特点不包括
依据方剂组方原则,下列关于使药作用的说法,正确的是()。
发出“心灵上负着时代苦闷的创伤的青年女性的叛逆的绝叫者”的声音的是()。
淋巴系统是()。
一般资料:求助者,男,38岁。案例介绍:求助者的儿子学习成绩一直不好,父母为此很着急,给他报了一些补习班,可是他总是只能坚持四五天。在家做作业时,一会去吃些零食,一会爻看会动画片,一会又逗逗家里的小猫咪。为此,爸爸曾经把他所有的零食都给拿走了,可
数列是数学的重要内容之一,数列中求通项的问题也是最常见的题型,其形式多样,解法灵活.请谈谈你认为的几种常用的求数列通项的方法.
社会价值与人本价值取向相统一的效益观,体现了教育的本源意义。()
日前,广电总局向央视下发通知,在主持人口播、记者采访和字幕中,不能再使用诸如NBA、GDP等外语缩略词。禁止外语缩略词是为了维护汉语的纯洁性,这本无可厚非。但在古今中外的文化交流史中,语言文字间的相互渗透都是非常普遍的,在全球化的今天,语言文字“你中有我,
犯罪的基本特征。
下列选项中,属于法定物权的是()(2014年一专一第39题)
最新回复
(
0
)