首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
31
问题
请编写函数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://kaotiyun.com/show/fiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序:main(){inta,b,C,m,n,k;m=n=k=0;a=-1;b=2;C=3;if(c>0)m=a+b;if(a<=0){if(b>0)
观察题目要求,可以知道以下几点:①for循环的结束条件应当是:str[i]已是字符串的最后一个字符;②str[i]代表字符串str中的第i+1个字符;③整形变量num的值是要记录的单词的个数。C语言中规定字符串的最后一个字符是一个隐含的字符串结束符
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个【】。
有如下程序段inta=14,b=15,x;charc=’A’;x=(a&&B)&&(c<’B’);执行该程序段后,x的值为______。
假设在turboc2.0采用small模式编译如下程序main(){chara[4]={’a’,’b’};char*b="abc";printf("%d,%d",sizeof(A),sizeof(B));
有如下程序intfunc(inta,intB){return(a+B);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);prin
有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。
下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。 #include<string.h> voidinvert(charstr[]) {inti,j【】; for(i=0,j=strlen(str)
在C语言中,合法的长整型常数是_______。
下述关于数据库系统的叙述中正确的是_______。
随机试题
亚急性感染性心内膜炎最常见的死亡原因是
下列哪项不是生地黄的功效
功能为宁心安神的藏成药是()。
下列诉讼行为必须在举证期限内完成的有:()
A和B注册会计师负责对X公司20×4年度财务报表进行审计,并确定财务报表层次的重要水平为1200000元。X公司20×4年财务报告于20×5年3月25日获董事会批准,并于同日报送证券交易所。资料一:资料二:在对X公司审计过程中,A
有一个人叫李智,研究生学历,考了三年终于考上公务员,到团委工作,担任团委书记,他的同事王强是副书记。刚参加工作时李智踏踏实实、勤勤恳恳。有一次,省委机关决定选拔一批处级干部。李智和王强笔试成绩都很高,并同时入围面试。为了准备面试,李智经常用工作时间学习,把
文小雨加入了学校的旅游社团组织,正在参与组织暑期到台湾日月潭的夏令营活动,现在需要制作一份关于日月潭的演示文稿。根据以下要求,并参考“参考图片.docx”文件中的样例效果,完成演示文稿的制作。参考样例文件效果,调整第5和6张幻灯片标题下文本的段落间距,
A、叫女的别睡了B、刘星不可能请客C、想坐飞机D、想吃肯德基B根据对话“别做梦了,要想吃刘星的东西可比登天还难”,说明男的认为刘星不可能请客,选B。
WemetMaryandherhusbandatapartytwomonthsago.______we’vehadnofurthercommunication.(2004年考试真题)
Oneplayerhaswonthegamewhen______.Whichofthefollowingwillyouhearwhenoneplayerhaswonthegame?
最新回复
(
0
)