首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*ar,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*ar,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。
admin
2016-10-28
66
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*ar,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。
注意:不能修改程序的其他部分,只能修改fun()函数。
#1nclude<10Stream>
int fun(int*a,int n)
{
}
void main()
{
int A[]={6,6,5,4,4,3,3,2,1};
int j=fun(A,sizeof(A)/sizeof(int));
for(int i=0;i<j;i++)
{
std::cout<<A
<<’ ’;
}
std::cout<<std::endl;
return;
}
选项
答案
int j; int k:0;//指向数组第一个元素 j=1;//指向数组第二个元素 while(j<n)//将本次循环k指向的元素依次与其他元素比较,如果不同,则存入数组 { if(a[J]!=a[k]) { a[++k]=a[j];//k指向下一个元素 } j++; } return k+1;//为新数组大小
解析
(1)首先指向数组第一个元素a[k],然后将第二元素a[j]与它比较,不同存入数组第二个元素(a[++k])。
(2)同时,将被比较的位置向后移动一位(j++)。循环直到数组的最后一个元素比较完毕。
转载请注明原文地址:https://kaotiyun.com/show/QONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于类的访问权限的描述中,()是错误的。
静态成员函数可以直接访问类的【】成员,不能直接访问类的【】成员。
有如下程序#include<iostream.h>voidmain(){floatX=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;
软件设计模块化的目的是【】。
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intxl=0,x2=0,x3=0,x4=0,i;
下列描述中错误的是
一个学生关系模式为(学号,姓名,班级号,…),其中学号为关键词:一个班级关系模式为(班级号,专业,教室,…),其中班级号为关键词:则学生关系模式中的外关键词为【】。
下列语句段将输出字符’*’的个数为()。inti=100;while(1){i--;if(i==0)break;cout<<’*’;}
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
随机试题
关于早期周围型肺癌描述,错误的是
目前,班组经济核算一般采用统计指标核算和()。
关于胆管结石的CT表现,错误的是
以现代医学和替代医学(传统医学)为手段,实现为慢性病患者解除痛苦并改善生命质量的目的。这里体现的全科医生的历史使命是
从路面类型来分,水泥混凝土路面属柔性路面。()
某上市公司董事会成员共9名,监事会成员共3名。下列关于该公司董事会召开的情形中,符合公司法律制度规定的是()。
下列不属于货币市场基金主要投资领域的是()
任务驱动法
A、 B、 C、 C
Whenyoulookupatthenightsky,whatdoyousee?Thereareother【B1】______bodiesouttherebesidesthemoonandstars.Oneof
最新回复
(
0
)