首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
admin
2018-10-23
65
问题
使用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://kaotiyun.com/show/S5Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若已定义inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;则对数组元素的不正确的引用是
以下程序的输出结果是inta,b;voidfun(){a=100;b=200;)main(){inta=5,b=7;fun();cout<<a<<b<<endl;}
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
有以下程序:#include<iostream>usingnamespacestd;ClassA{public:A(){tout{("A"}};classB{public:B(){cout<<"
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
下列程序输出的结果是()。#include<stdio.h>un1(chara,charb){charc;c=a;a=b;b=c;}fun2(char*a,charb){charc;c=*a;*a=b;b=c;}
在类的对象被创建时,______函数会被自动调用。
如果使用数组名称为函数参数,形实结合时,传递的是______。
有下列程序:#include<iostream>usingnamespacestd;classTestClass1{public:TestClass1(){cout<<"A";}
随机试题
试比较躯干四肢浅、深感觉传导路的主要异同。
A.放射治疗B.肿瘤切除术C.局部病灶内注入甲泼尼龙D.切刮、植骨、灭活骨软骨瘤最佳治疗
长期接触三硝基甲苯,可能造成的组织或器官损害是
雌激素的生理作用,不正确的是
在下列情形中,不构成缔约过失责任的是指()。
预应力筋的下料长度要通过计算确定,计算时应考虑的因素有()。
交通肇事罪:是指从事交通运输的人员因违反规章制度而发生的重大交通事故,致人重伤、死亡或者使公私财产遭受重大损失的行为。根据上面的定义,下面哪一种行为构成了典型的交通肇事罪?
()编制自陈量表的基本假设是只有施测者最了解受测者的人格特征。
设α(x)=,当x→0+时,这3个无穷小量按照从高阶到低阶的排序为().
集合竞价时,如果最后一笔成交是部分成交,则以前一日收盘价格为集合竞价产生的价格。()
最新回复
(
0
)