首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 99 10 10 10。
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 99 10 10 10。
admin
2019-03-19
19
问题
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 99 10 10 10。
删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define N 8 0
int fun(int a[],int n)
{
}
metin()
{ 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;void
NONO();
printf("The original data:\n");
for(i=0 ; i
a
);
n=fun(a,n);
printf("\n\nThe data after deleted:
\n");
for(2=0;i
a
);printf("\n\n");
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE*rf,*wf;int a[N],n,i,j ;
rf=fopen("in.dat","r");
wf:fopen("out.dat","w");
for(i=0;i<5;i++) {
fscanf(rf,"%d",&n);
for(j=0;j
"%d", &a[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/3BRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是______。#include<stdio.h>intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}mai
在链表的运算过程中,能够使空表与非空表的运算统一的结构是______。
在线性表的多种存储结构中,最简单的方法是【】
有以下程序的输出结果是( ) void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else
以下程序段 main( ) {inta=5,*b,**c; c=&b;b=&a; …… } 程序在执行了c=&b;b=&a;语句后,表达式:**c的值是
有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}
下列程序的输出结果是______。longfun5(intn)(longs;if((n==l)‖(n==2))s=2;
若有定义和语句: intw[2][3],(*pw)[3];pw=w; 则对w数组元素的非法引用是()
若执行下述程序时,若从键盘输入6和8时,结果为main(){inta,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;
以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;longf1;myf=【】("test.t""rb");
随机试题
小李2014年从师范大学美术学院毕业后考了特岗教师,在一所农村小学任教。该校只有1—5年级5个教学班,且该校长期缺少音体美教师,李老师承担全校所有班的美术课。李老师已经具备哪些专业素养?
调节胆汁分泌和排出的神经、体液因素有
(59~63题共用题干)女性,60岁,患慢性肾炎8年。近日水肿加重,经常恶心、尿少,血压170/97mmHg,血尿素氮23mmol/L,肌酐460mmol/L,肾小球滤过率25m1/min,诊断为慢性肾衰竭尿毒症期。尿毒症营养治疗的基本原则是增加必需氨基酸
案情:镇长黄某负责某重点工程项目占地前期的拆迁和评估工作。黄某和村民李某勾结,由李某出面向某村租赁可能被占用的荒山20亩植树,以骗取补偿款。但村长不同意出租荒山。黄某打电话给村长施压,并安排李某给村长送去1万元现金后,村长才同意签订租赁合同。李某出资1
关于债券价格报价,以下说法正确的有()
2015年1月,甲公司与乙公司签订劳务派遣协议,派遣刘某到乙公司从事临时性工作。2015年5月,临时性工作结束,两公司未再给刘某安排工作,也未再向其支付任何报酬。2015年7月,刘某得知自2015年1月被派遣以来,两公司均未为其缴纳社会保险费,遂提出解除劳
税收征管法规定税务机关可以采取的税收保全措施有霉()。
审计工作底稿三级复核制度是指会计师事务所以( )为复核人,对审计工作底稿进行逐级复核的一种质量检查制度。会计师事务所与P公司于2004年1月20日签订的2003年度会计报表审计业务约定书,作为审计档案,应当( )。
()对于烹饪相当于()对于小提琴
当消费者的收入不变,两种商品的价格都同比例同方向变化时,预算线不发生变化。()
最新回复
(
0
)