首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 1
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 1
admin
2021-02-25
78
问题
请编写函数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的花括号中填入你编写的若干语句。
试题程序:
1 #iticlude<stdio.h>
2 #define N 80
3 int fun(int a[],int n)
4 {
5
6 }
7 void main()
8 {
9 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;
10 printf("The original data:\n’’);
11 for(i=0 ; i
12 printf(’’%3 d’’,a
);
13 n=fun(a,n);
14 printf (’’\n\nThe data after deleted:\n’’);
15 for(i=0;i
16 printf(’’%3 d’’,a
);
17 printf(’’\n\n’’);
18 }
选项
答案
1 int fun(int a[],int n) 2 { 3 int i,j=1; 4 for(i=1 ; i
解析
该程序的流程是:定义变量i和j,其中j用于控制删除后剩下的数在数组中的下标,i用于搜索原数组中的元素。j始终是新数组中最后一个元素的下一个元素的下标,所以if语句中的条件是a[j-1]!-a[j],其中a[j-1]就是新数组中的最后一一个元素,若条件成立,则表示出现了不同的值,所以a
要保留到新数组中。注意本题中i和j的初值都要从1开始,该算法只能用于数组已排序的题目中。
转载请注明原文地址:https://kaotiyun.com/show/IGtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于定义阶段任务的是()。
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
以下选项中,值为1的表达式是
关于函数调用的叙述中错误的是()。
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
在一个C源程序中所定义的全局变量,其作用域为
T列数据结构中,不能采用顺序存储结构的是
有关return语句说法不正确的是()。
随机试题
马克思主义理论研究和建设工程重点教材《毛泽东思想和中国特色社会主义理论体系概论》(2018版)的主线是()
将许多过于狭小的子市场组合起来,以便能以较低的成本和价格去满足这一市场的需求。这种市场细分战略称作()
位于肺动脉与主动脉弓之间的动脉导管,生后闭锁成为动脉韧带。()
以下哪穴不是足阳明胃经的五输穴
具有消痈排脓,祛瘀止痛功效的药物是
会计人员参与企业管理主要体现在()。
持股集中度越高,基金的风险越小。()
青霉素过敏性休克在抢救时首先应采取的措施是()。
已知{an}为等差数列,a1+a3+a5=105,a2+a4+a6=99,前n项和Sn取得最大值时n的值是().
数据库系统的核心是
最新回复
(
0
)