首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
74
问题
请编写函数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全国计算机二级
相关试题推荐
下列程序执行后的输出结果是main(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i
从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【 】。
下列不合法的main函数命令行参数的表示形式是______。
设q1和q2是指向一个float型一维数组的指针变量,k为float型变量,则不能正确执行的语句是()。
以下能正确定义一维数组的选项是______。
下列叙述中错误的是
以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。strcen(charaC),charb[]){intnum=0,n=0;while(*(a+num)!=【】)num++;
若有以下定义语句,则不移动指针p,并且通过指针p引用值为98的数组元素的表达式是【】。intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
在面向对象方法中,对象之间进行通信的构造称为()。
以下不是结构化程序设计方法的技术是()。
随机试题
WhatdoRussia’sBelgorodprovinceandsomeschoolsinFloridaandConnecticuthaveincommon?Theyareunlikelyrecruitstothe
何谓电动机的效率?它与哪些因素有关?
在适宜的条件下,r对策生物的种群增长速度比K对策生物的种群增长速度()
Hetriedtoconvinceher______hislovebutfailed.
患者女,16岁。因颈部包块、发热2周来诊。骨髓穿刺确诊为急性淋巴细胞性白血病L2型,经2个疗程VDP方案后完全缓解。缓解后仍需巩固、强化治疗的理论根据是
索赔按照当事人分类不包括()。
会计科目编码必须唯一,科目编码必须按其级次的先后次序建立,科目编码用数字、英文字母等表示,可以使用—、@、空格等其他字符。()
以下事项会对利润造成影响的情形有()。Ⅰ.持有至到期投资重分类为可供出售金融资产,公允价值大于账面价值Ⅱ.资产负债表日,可供出售金融资产公允价值变动Ⅲ.可供出售权益工具投资发生减值损失,计提减值准备Ⅳ.可供出
导游赵某率一香港团队游览九寨沟、黄龙景区。为了诱导游客自费观看九寨沟藏羌歌舞,赵某谎称晚会门票很大一部分将捐给希望工程,结果购票者十分踊跃;次日,赵某又在赴黄龙景区途中,以黄龙景区海拔高需要自备氧气瓶为由,安排游客到计划外的氧气站购买氧气,并收受氧气站给予
Prewritingreferstostrategiesyoucanusetogenerateideasbeforestartingthefirstdraftofapaper.Prewritingtechniques
最新回复
(
0
)