首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
49
问题
请编写函数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://jikaoti.com/ti/Lqf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是()。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t==a[i];a[i]=a[n
设有如下程序:main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}
设有以下程序:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,’\0’},*p;p=&a[0];下面选项
下列叙述中正确的是()。
以下是while语句的基本形式:while(表达式){语句;}其中“表达式”()。
下面的叙述正确的是()。
以下函数用于求出一个2×4矩阵中的最大元素值。max_value(arr)intarr[][4];{inti,j,max;max=arr[O][0];for(i=0;i<2;i++)
若有以下定义语句,则不移动指针p,并且通过指针p引用值为98的数组元素的表达式是【】。intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
以下不是结构化程序设计方法的技术是()。
深度为7的二叉树共有127个节点,则下列说法中错误的是()。
随机试题
阅读戴望舒《雨巷》中的一节:撑着油纸伞,独自彷徨在悠长,悠长又寂寥的雨巷,我希望逢着一个丁香一样地结着愁怨的姑娘。
A.角色扮演B.小组讨论C.案例分析D.头脑风暴E.深入访谈用于培训决策能力和分析问题、解决问题的综合能力的方法是
在地籍图上应表示的地籍要素包括()。
下列属于地下水的运动特征的是()。
建设工程施工中需要进行爆破作业的,必须经上级主管部门审查同意,并应说明使用爆破器材的地点、( )的文件和安全操作规定,向所在地县、市公安局申请爆破物品使用许可证,方可使用。
某权证的基本要素如下表所示:则下列说法中正确的是()。
管理控制的过程是()。
学生在掌握了“萝卜”“白菜”“茄子”等概念之后,再学习“蔬菜”这一概念。这种学习属于()。
治安行政管理工作的主要内容包括()等。
A、Governmentsmayfacedifficultiesinfightingdiseases.B、Fewerdoctorsandnursesliketogototheseplaces.C、Morelocaldo
最新回复
(
0
)