首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
admin
2018-10-23
50
问题
使用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全国计算机二级
相关试题推荐
假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为______。
以下关于友元函数的叙述不正确的是
有关构造函数的叙述不正确的是
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
以下函数值的类型是fun(floatx){floaty;y=3*x-4;returny;}
内联函数是通过______来实现的,因此内联函数是真正的函数。
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为______。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
若有如下变量定义和函数调用语句:inta=5;fun(&A);则执行下面函数后正确的输出结果是()。voidfun(int*x){cout<<++*
随机试题
试述领导经验、领导科学、领导方法与领导艺术的关系。
A.碳酸钙结石B.尿酸结石C.黄嘌呤结石D.磷酸盐结石E.氨酸结石
男性30岁,右颌下区胀痛两周,进食痛加剧,继而可减轻。为明确诊断,急需检查
如图7—2—28所示的对称三相电路中,已知电源线电压U=380V,R=40Ω,=30Ω,三相负载功率P是()W。
资料1:某公司2011年一2016年的D产品销售量资料如下:资料2:D产品设计生产能力为4000吨,计划生产3300吨,预计单位产品的变动成本为200元,计划期的固定成本费用总额为123750元,该产品适用的消费税税率为5%,计划成本利润率必须达到25
A、B、C、D、C本题属于图形拆分。观察原图形,图形中间有一个圆形,圆形的中间有一个“十”字。根据这个特点观察备选答案:A选项与D选项中,圆形的中间没有“十”字,排除;再看B选项的图形,圆形内部有“十”字,但是多出了一条斜线,这是在原图形中没有的,
_________是我国制定音乐史所使用最早的生律法,也即确定乐音体系中各音的绝对准确高度及其相互关系的方法,最初见春秋时期。
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业网络拓扑如图2-1所示,无线接入区域安装若干无线AP(无线访问接入点)供内部员工移动设备连接访问互联网,所有AP均由AC(无线控制器)统一管控。请结合下图,回答相关问题。
当用()方式打开文件时,如果对文件进行写操作,则写入的数据附加到原文件的后面。
有以下程序:#include<stdio.h>voidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf("%d,%d",m,n);}voidf(int*p,int*q){
最新回复
(
0
)