首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩—个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩—个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数
admin
2020-06-02
48
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩—个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
int fun(int a[],int n)
{
}
void 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=20;
printf("The original data:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
n=fun(a,n);
printf("\n\nThe data after deleted:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
printf("\n\n");
}
选项
答案
int fun(int a[],int n) { int i,j=1; for(i=1;i<n;i++) if(a[j-1]!=a[i]) /*若该数与前一个数不相同,则要保留*/ a[j++]=a[i]; return j; /*返回不相同数的个数*/ }
解析
该程序的流程是:定义变量i和j,其中j用于控制删除后剩下的数在数组中的下标,i用于搜索原数组中的元素。j始终是新数组中最后一个元素的下一个元素的下标,所以if语句中的条件是a[j-1]!=a
,其中a[j-1]就是新数组中的最后一个元素,若条件成立,则表示出现了不同的值,所以a
要保留到新数组中。注意本题中i和j的初值都要从1开始,该算法只能用于数组已排序的题目中。
转载请注明原文地址:https://kaotiyun.com/show/nYCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设一棵树的度为3,其中没有度为2的结点,且叶子结点数为6。该树中度为3的结点数为
下列选项中不符合良好程序设计风格的是
设有以下语句typedefstructTT{charc;inta[4];}CIN;则下面叙述中正确的是
若有以下语句typedefstructS{intg;charh;}T;以下叙述中正确的是
有以下程序#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)
设某棵树的度为3,其中度为2、1、0的结点个数分别为3、4、15。则该树中总结点数为
要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
有以下程序,已知字母A的ASCII码为65,程序运行后的输出结果是main(){charc1,c2;c1=’A’+’8’一’4’:c2=’A’+’8’-’5’:printf("%c,%d\n",c1,c2);}
下列给定程序中,函数fun的功能是:计算整数n的阶乘。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include#includedoublefun(intn){
随机试题
Oneoftheliveliestdebatesinlinguisticsisoverwhetheralllanguagessharefundamentalproperties.Ifso,perhapslanguage
Somecountriesstillhavedeathpenalty(死刑),butitnolonger【C1】______inBritain.Afteraparticularly【C2】______murder,British
女,28岁。股骨下端后方软组织内有一致密性骨性肿块,以宽基底附着于骨皮质上,与皮质问有线形透亮间隙。应考虑的诊断是
A.37周B.38周C.40周D.42周E.44周过期产儿的胎龄大于
检验检测机构一般应为独立法人,非独立法人的机构需要()。
依据《中华人民共和国草原法》对基本草原保护的要求,下列说法正确的是()。
设立社应当加强分社的管理,对分社实行统一的人事、财务、招徕、接待制度规范。()
阅读以下两位教师关于《赤壁赋》的课堂实录(节选),按要求答题。(画线语句的序号与选项的序号是对应的)实录(一)师:期中考试前我们曾经学习过宋代著名文学家、书画家苏轼的一首词——[A]生:《念奴娇.赤壁怀古》(学生马上
Therecanbenodoubtthatthegrowthinadvertisementsisoneofthemoststrikingfeaturesofthewesternworldinthiscentur
A、Tosavemoneyonequipment.B、Tohelpkeepparticipantsfromgettinglost.C、Toinstructnewcomersaboutbicyclemaintenance.
最新回复
(
0
)