首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 77 8 9 9 10 10 10。
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 77 8 9 9 10 10 10。
admin
2020-06-16
53
问题
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 77 8 9 9 10 10 10。
删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。
注意:部分源程序在文件PROGI.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#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,10,10,10,10),i,n=2 0 ; void
NONO();
printf("The original data:\n");
for(2=0 ; i
a
);
n=fun(a,n);
printf("\n\nThe data after deleted:
\n");
for(i=0 ; i
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/oOCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在下画线处填入正确的内
有以下程序:#includeinta=1,b=2;voidfunl(inta,intb){printf(“%d%d”,a,b);}voidflun2(){a=3;b=4;}main(){funl(5,6);f
有以下程序#includemain(){inti=1;for(printf(“%d”,i);i
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为eh的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。请在程序的下画线处填入正确的内容并将下画线删除,使
下面不属于对象主要特征的足()。
软件测试的实施步骤是
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为:学号:N1002学号:N1006共有2位学生有不及格科目
随机试题
InancientGreeceathleticfestivalswereveryimportantandhadstrongreligiousassociations.TheOlympianathleticfestivalh
2006年10月,甲公司与乙公司签订了一份涂料买卖合同,甲公司向乙公司购买优质涂料,共1000大桶,每桶1000元,共计价款人民币100万元。因甲公司资金周转暂时有困难,甲乙在合同中约定:甲公司以其一套价值约为150万元的机器抵押给乙公司以担保其货款的支付
土地使用税的纳税人是拥有土地使用权的单位和个人,土地使用权共有的,共有各方应按其实际分推,的()缴纳城镇土地使用税。
A企业将购并B企业,根据B企业过去经营情况和未来市场形势,预测其未来3年的净利润为15万元、18万元、20万元,从第4年开始,以后各年的净利润为21万元。根据银行利率及企业经营风险情况确定的折现率为15%,并且采用单项资产评估方法,评估确定该企业单项资产评
在运用区间估计评价甲公司管理层点估计的合理性时,下列说法中,A注册会计师认为正确的有()。
企业为员工办理的各种补充福利包括()。
我国倡导正当竞争,反对不正当竞争。下列行为中,属于不正当竞争的是:
在Cisco路由器上建立一个名为zw246的DHCP地址池,地址池的IP地址是176.115.246.0/24,其中不用于动态分配的地址有176.115.246.2~176.115.246.10,缺省网关为176.115.246.1,域名为tj.edu.c
Thetableismadeof______.
A、Shedidmanywrongthings.B、Shehadaquarrelwiththeman.C、Shehasn’tfinishedherhomeworkyet.D、Sheistoomuchbehind
最新回复
(
0
)