首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
admin
2018-10-23
64
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。
注意:不能修改程序的其他部分,只能修改fun()函数。
2 #include<iostream>
2 int fun(int *a,int n)
3 {
4
5 }
6 void main()
7 {
8 int A[]={6,6,5,4,4,3,3,2,1};
9 int j =fun(A,sizeof(A)/sizeof(int));
10 for(int i=0;i<j;i++)
11 {
12 std::cout<<A
<<’ ’;
13 }
14 std::cout<<std::end1;
15 return;
16 }
选项
答案
1 int j; 2 int k=0;//指向数组第一个元素 3 j=1; //指向数组第二个元素 4 while(j<n)//将本次循环k指向的元素依次与其他元素比较,如果不同,则存入数组 5 { 6 if(a[j]!=a[k]) 7 { 8 a[++k]=a[j]; //k指向下一个元素 9 } 10 j++; 11 } 12 return k+1; //为新数组大小
解析
(1)该程序功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。它的解题思路,由第一个元素开始,利用循环将所有元素,依次与它后面的元素比较,如果不同存入数组。
(2)从已给部分源程序的main主函数开始入手,核心函数int fun(int *a,int n)中的参数a为输入的数组,n为数组大小。
(3)首先指向数组第一个元素a[k],然后将第二元素a
与它比较,不同存入数组第二个元素(a[++k])。
(4)同时,将被比较的位置向后移动一位(j++)。循环直到数组的最后一个元素比较完毕。
转载请注明原文地址:https://www.kaotiyun.com/show/S5Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
能保证对所有的参数能够结束的递归函数是
对于以下带参数的main()函数的第二形参,voidmain(intargc,______),不可能的形式是
已知语句intm=10;则下列引用的表示中正确的是
有以下程序main(){inta=5,b=4,c=3,d=2;if(a>b>c)cout<<d<<endl;elseif((c-1>=d)==1)cout<<d+1<<endl
有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)cout<<i<<","<<j<<","<<k<<endl;}执行后输出结
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为
以下程序的输出结果是inta,b;voidfun(){a=100;b=200;)main(){inta=5,b=7;fun();cout<<a<<b<<endl;}
下列程序的运行结果是main(){inta=2,c=5;cout<<"a="<<a<<"b="<<c<<endl;}
如果使用数组名称为函数参数,形实结合时,传递的是______。
随机试题
汽车营销活动包括三个方面的内容,分别是商流、物流和_______。
预防和减小焊接缺陷发生概率的检验是()。
支票的付款时间应为()
给水管道保温检查内容()。
我在单位工作很有成就感,因此在日常的生活和工作中,我不怕见父母,不怕见邻居,不怕见同事和领导,但是就怕见我孩子的班主任老师。都怪我的儿子不争气,让我总是挨这位老师的训。我儿子爱说爱动,在课堂上时常有“违反”纪律的现象发生,因这类事我被这位老师在电话里或当面
版面要素(暨南大学2014年研;上海交大2007年研;西安交人2005年研)
甲犯放火罪应被判处10年有期徒刑,此时人民法院对甲还可以适用的附加刑是()
有以下程序(字母A的AscII代码为65):#include<stdio.h>main(){charc1='A',c2='Y';printf("%d%d\n"c1,c2);}程序运行后的输出结果是()。
某单位的办公室秘书小马接到领导的指示,要求其提供一份最新的中国互联网络发展状况统计情况。小马从网上下载了一份未经整理的原稿,按下列要求帮助他对该文档进行排版操作并按指定的文件名进行保存:将考试文件夹下的图片picl.png插入到书稿中用浅绿色底纹标出的
A、TheEuropeansarenice.B、Theseaiscomparativelysmall.C、Theweatherisgood.D、Therescuersarewell-trained.C
最新回复
(
0
)