首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
30
问题
请编写函数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全国计算机二级
相关试题推荐
关于C语言的变量,以下叙述中错误的是
若有定义intw[3][5];.则以下不能正确表示该数组元素的表达式是()。
下列选项中,能够满足"只要字符串s1等于字符串s2,则执行ST"要求的是
以下关于字符串的叙述中正确的是
下面程序段的运行结果是()。intb;2;intfunc(int*param){b+=*param;return(b);}main(){inta=2,rtn=2
下面对“对象”概念描述正确的是()。
要求通过while循环不断读入字符,当读入字*N时结束循环。若变量已正确定义,以下正确的程序段是
一棵二叉树共有31个节点,其中8个是叶子节点,则度为1的节点数为()。
下列说法正确的是()。
随机试题
设函数z=则
问卷设计时,在问题陈述后提供的答案只有“是”和“否”,或“有”和“无”等两个相互排斥的答案,这种答案格式属于
葡萄球菌肺炎抗生素治疗的疗程是
防止塔式起重机超载造成整体倾翻的安全装置是()。
FIDIC《施工合同条件》是以()来划分不可抗力的后果责任。
坚持会计准则的基本要求包括( )。
网上定价、竞价方式是指()利用证券交易所的系统,并作为唯一的“卖方”,投资者在公布的期间内,按照规定以委托买人的方式进行股票申购的股票发行方式。
《幼儿园管理规程》由()负责解释。
一座大厦如果有了白蚁,不加防治,不到十年时间,里面的地板就会被蛀蚀一空。
Conversationbeginsalmostthemomentwecomeintocontactwithanotherandcontinuesthroughouttheday【B1】______theaidof
最新回复
(
0
)