首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
2015-12-22
22
问题
请编写函数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。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#inclucte
#define N 80
int fun(int a[],int n)
{
}
main()
{ int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,1 0,10,10,10),i,n=20;void
NONO();
printf("The original data:\n");
for(i=0;i
);
n=fun(a,n);
printf("\n\nThe data after deleted:\n");
for(i=0;i
);printf("\n\n");
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE *rf,*wf;int a[N],n,i,j;
rf=fopen("in.clat","r");
wf=fopen("out.dat","w");
for(i=0;i<5; i++) {
fscanf(rf,"%d",&n);
for(j=0;j
n=fun(a,n);
for(j=0; j
(wf, "%4d", a[j]);
fprintf(wf,"\n");
}
fclose(rf);fclose(wf);
}
选项
答案
int i,t,j=0,*p=a, t=p[0]; //设置临时变量t初值指向第一数组值 for(i=0;i<=n;i++) if(t==p[i]) //当临时变量与数组中的某个值相同则跳出,比较下一个元素 ; else //如果临时变量与数组中值不同,则对临时变量重新赋值 { a[j]=t; t=p[i]; j++, } if(i>=n) a[j]=t; return j;
解析
(1)首先,设置一个临时变量,初值设置为一维数组的第一个元素。
(2)然后,依次将数组的元素与临时变量比较,如果相同,则继续取数组下一个元素与临时变量比较;如果不同,则将临时变量的值赋值到数组的第一个元素,同时将此与临时变量不同的数组元素赋值给临时变量。
(3)循环执行,直到所有的数据处理完毕。
转载请注明原文地址:https://kaotiyun.com/show/xXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{1
有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20)
已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
若变量均已正确定义并赋值,以下合法的C语言赋值语句是
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotade(i
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
随机试题
Tounderstandthemarketingconcept,itisonlynecessarytounderstandthedifferencebetweenmarketingandselling.Nottooma
视网膜中感光最敏锐的部位是()
A、大叶性密度均匀磨玻璃状阴影,逐渐溶解呈虫蚀样空洞B、小片状或斑点状阴影,可融合和形成空洞C、纤维厚壁空洞、肺门抬高和肺纹理呈垂柳样D、空洞形态不一,可呈多个空腔的虫蚀样空洞E、向外、向上的弧形影浸润性结核病X
宽度量测方法和要求为,在实地线状地物()处量测宽度,精确到0.1m,并在调查底图对应实地位置打点标记量测点及其宽度值。
2012年张某将其一项专利权转让给A国一家企业,取得转让收入120000元,按A国税法缴纳了个人所得税15000元;同年在A国提供劳务,取得劳务报酬200000元,按A国税法缴纳了个人所得税5.5000元。2012年张某应就来源于A国所得在国内缴纳个人所得
(2015·江苏)小学生在英语课堂上学习“书”的英语单词“BOOK”,按照奥苏贝尔的学习分类,这里的学习属于()
某班有战士7人,每两人一组,轮流放哨,每2个小时换班一次,某两人第一次一同放哨开始,到下次这两人再一同放哨,最长需要()个小时。
简述教育的显性功能和隐性功能的区别。
理想是人们对美好未来的向往和追求,是人们奋斗的目标和精神支柱,也是激励人们发奋向上、不断进取的强大动力,是个人和民族的灵魂所系。对理想的认识正确的是()
A——SafetyhammerJ——HandleofemergencybrakeB——Hittingp
最新回复
(
0
)