首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
admin
2015-06-08
24
问题
请编写函数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。
注意:部分源程序在文件PROGI.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define N 8 0
int fun(int a[],int n)
{
}
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;void NONO ();
printf(“The original data:\n”);
for(i=0;i
);
n=fun(a,n);
printf(“\n\nThe data after deleted:
\n”);
for(i=0;i
a
);printf(“\n\n”);
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,
调用fun函数,输出数据,关闭文件。 */
FILE *rf, *wf; int a[N],n, i, j ;
rf=fopen(“in.dat”,“r”);
wf=fopen(“out.dat”,“w”);
for(i=0;i<5;i++) {
fscarlf(rf,“%d”,&n);
for(j=0;j
“%d”, &a[j]);
n=fun(a, n);
for(j=0;j
(wf,“%4d”,a[j]);
fprintf(wf,“\n”);
}
fclose(rf); fclose(wf);
}
选项
答案
int i,t,j=0,*p=a; t=p[0]; //设置临时变量t初值指向第一数组值 for(i=0;i<=n;i++) if(t==p[i]) //当临时变量与数组中的某个值相同则跳出,比较下一个元素 ; else //如果临时变量与数组中值不同,则对临时变量重新赋值 { a[j]=t; t=p[i]; j++; } if(i>=n) a[j]=t; return j ;
解析
该程序功能是删去一维数组中所有相同的数,使之只剩一个。解题思路是,首先在函数中定义临时变量指向每一个元素,然后在循环过程中将临时值和其他元素进行比较,如果相同,那么跳过相同字符。
[解题思路]
(1)首先,设置一个临时变量,初值设置为一维数组的第一个元素。
(2)然后,依次将数组的元素与临时变量比较,如果相同,则继续取数组下一个元素与临时变量比较;如果不同,则将临时变量的值赋值到数组的第一个元素,同时将此与临时变量不同的数组元素赋值给临时变量。
(3)循环执行,直到所有的数据处理完毕。
转载请注明原文地址:https://jikaoti.com/ti/hjn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:main(){intaa[4][4]:{{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,S=0;for(i=0;i<4;i++)s+=aa[i][1];
有以下程序:intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),(intx){returnf2(x)-f1(
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是______。
有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib
设血型占2个字节,则unsignedint所能表示的数据范围是______。
若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是_______。
请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ATS\n012\1\\"));上面程序片段的输出结果是_______。
下面的程序片段y=-1;if(x!=0)if(x>0)y=1;elsey=0;所表示的数学函数关系是_______。
数据库设计包括两个方面的设计内容,它们是_______。
实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于copy命令),假定文件在当前目录下。请补全程序。#include<stdio.h>voidmain(intargc,char*argv[])
随机试题
《喜宴》中的人物有【】
A.散点图B.线图C.圆图D.直方图E.统计地图适用于双变量资料,用点的密集度和趋势表达两变量间的相关关系。应绘制
A.证候相兼B.虚实真假C.寒热真假D.证候错杂E.证候转化寒包火证属于
已知正弦电流的初相为60°,t=0时的瞬时值为8.66A,经过1/300s后电流第一次下降为0,则其振幅Im为()A。
某消防服务机构对建筑面积为30000m2的大型地下商场进行安全评估。在对防火隔间进行检查时发现,防火分区通向防火隔间的门为乙级防火门,两个乙级防火门的间距为4m,隔间的装修为轻钢龙骨石膏板吊顶、阻燃壁纸装饰墙面,隔间内有几位顾客坐在座椅上休息。根据现行国家
在项目验收中,验收准备是由________组织勘察、设计、施工、监理、审计、质检等单位,做好验收准备工作。
“落红不是无情物,化作春泥更护花”这句诗体现了教师职业道德的()。
马太效应是指强者愈强、弱者愈弱的现象。任何个体、群体或地区,一旦在某一个方面(如金钱、名誉、地位等)获得成功和进步,就会产生一种积累优势,就会有更多的机会取得更大的成功和进步。根据上述定义,下列不属于马太效应的是()。
近代以来,中国被迫与列强签订了一系列不平等条约,丧失了大量领土主权。在以下不平等条约中,中国领土损失最大的是()。
以下哪一项不可能是左边立体图形的切面?
最新回复
(
0
)