2021年度全国大学生历年全国计算机等级考试二级C语言上机考试题库及答案.docx
1.填空函数建立班级通讯录。通讯录中记录每位学生编号,姓给定程序功能是调用fun名和 号码。班级人数和学生信息从键盘读入,每个人信息作为一种数据块写 到名为myfile5.dat二进制文献中。请在程序下划线处填入对的内容并把下划线删除,是程序得出对的成果。注意:源程序存储在考生文献夹下BLANKLc中不得增行或删行,也不得更改程序构造!void check();/I/不不不不不不下不不不不不不不不 不不不不不/int fun(_ 1 *std)/ 7,7, 7,7, 7,1 7,7,7,7,7,*1*/个不个个不干不小个个 I 1D(1个小不小小个不个个不*fp;*fp;int i;if(fp=fopen(nmyfile5.datn;,wbn)=NULL)return(O);printf(nnOutput data to file !n') for(i=O; i<N; i+)/ 7, 7, 7, 7, 7,7, 7, 7,。1 7, 7, 7, 7, 7, 7, 7, 7, 7, 7” /个个个个个个个个个个Tei个小个个个个个个个个/fwrite(&stdLiJ, sizeof(STYPE), 1,3_ );fclose(fp);return (1);修改 给定程序MODil C中函数fun功能是:先将在字符串s中字符按正序存储到t 程序函数fun功能是:将 两个两位数正整数a, b合并成一种整数放在c中。合并方式 是:将a数十位和个位数依次放在c数千位和十位上,b数十位和个位数依次放 在c数百位和个位上。例如:a =45, b=12时,调用该函数后,c=5142注意:某些源程序存在文献PR0G1. C中。数据文献IN.DAT中数据不得修改。请 勿改动主函数main和其她函数中任何内容,仅在函数fun花括号中填入你编写假设 干语句。4、B: T fs ftM: (d%2=0) sl= 10;P: *c=(a%10)*1000+(b/10)*l OO+(a/l 0)* 10+(b% 10);5.填空给定程序中已建立一种带有头结点单向链表,链表中各节点按结点数据域中数据递 增有序链表。函数fun功能是:把形参x值放入一种新结点并插入到链表中,插 入后结点数据域值仍保持递增有序。typedef struct list int data;struct list "'next; SLIST;void fun(SLIST *h, int x) SLIST *p, *q, *s;s二(SLIST *)malloc(sizeof(SLIST);/I *1Kt*/不不不不不不不不不不Td不不不个不个不不不不/s->data=_q=hint i, d;d = strlen(s);for (i = 0; i<d; i+) tfi = si;for (i =0; i<d; i+) td+i = sd-l-i;/I* *1* /*1 *1* *£* *1*1* -I* *1* 7*/不不小不不不不个不不不不tcunC不不不不不不不小不不不不 /t2 *d-lj ='O'设计函数fun功能是:将s所指字符串中除了下标为奇数,同事ASCII值也为奇数 字符之外,别的因此有字符都删除,串中剩余字符所形成一种新串放在t所指数组 中59、B: 0 i+ 2.0*i M: (char *s, char *t) t2*d ='O'P : i nt i, j = 0 ; for(i = 1 ; i < strlen(s) ; i += 2) if(sij % 2) tj+J = si ; tjj =0 ;60.填空给定程序中,函数fun功能是:将形参s坐直字符串中所有字母字符顺序前 移,其她字符顺序后移,解决后新字符串首地址作为函数值返回char *fun(char *s) int i, j, k, n; char *p, *t;n=strlen(s)+l;t=(char*)malloc(n*sizeof(char);p=(char*)malloc(n*sizeof(char);j=O; k=O;for(i=O; i<n; i+) if(si>=,a,)&&(si<=,z,)ll(si> = ,A,)&&(si<=,Z,) *I 、X*X* *1* *X*1* *1* /I不不、下不不.、不下不To|(1、不不不不不不不不不/t0 = 1; j +;else pk=sLi; k+; /*X*1 *1/不一、一、不小不不"、不小1 n 不、不不不不个不不不/for(i=O: i< 2;i+) tLi+i=pi;/ 7,*1* *1*7,7,*.1* kJ> k|> 7,01 *A* -1* 1* 7,7,*1* *1*/小不不下*小不不小小tci不不不刁、小不不小小小/m+k= _ 3 return t;修改给定程序MODiLc中函数fun功能是: 将s所指字符串中最后一次浮现与tl所指字符串相似字串替代成t2所指字符串,所形成新串放在w所指数组中,在此处,规定ti和t2所指字符串长度相似void fun (char *s, char tl, char *t2, char w)char *p,*r, *a;strcpy( w, s);/ /不不不不干3 .,不干不不丁 C n C不不不3 3 3不不不不不下Iwhile (w) p= w; r = tl ;while ( *r)/ kJ> 7,!* k*> kF> .!> *> k1> 7,*1* k1* 7,01 v£* kJ> .!>kJ> *!> k£* k!> !> kL* k1*/不不不不不不不不不不不不tc n不不不不不不不不不不不不/=*p)=*p)什+;P+; else break;if (*r ='O') a = w;w+;r = t2;while ( *r ) *a = *r: a+; r+; )设计函数fun功能是: 将s所指字符串中ASCII值为奇数字符删除,串中剩余字符形成新串放在t所指数组中60、B:si k OM: *w ifP: int i, j = 0 ; for(i = 0 ; i <strlen(s); i+) if(si % 2=0) tj+ = si;tU = o ;61填空给定程序中,函数fun功能是:将形参s所指字符串中所有数字字符顺序前移,其她字符顺序后移,解决有新字符串首地址作为函数值返回char *fun(char *s) int i, j, k, n; char *p,n=strlen(s)+l;t=(char*)malloc(n*sizeof(char);p=(char*)malloc(n*sizeof(char);j=O; k=O;for(i=O; i<n; i+)p1-si ; j+;elsetk=si; k+; / | /不不不不不不不不不1 nc不不不.不不不不不不/for(i=O: i< 2; i+ +) pfj+i= ti;PU+k=O;/* * *火大*#bund*火*/return 3:给定程序MODil o C中函数fun功能是:一方面把b所指字符串中字符按逆 序存储,然后将a所指字符串中字符和b所指字符串中字符。按排列顺序交叉合并 到C所指数组中,void fun(char *a, char *b, char *c)char ch;i = O; j = strlen(b)-1;/*火火火*火火火 fo&nd英大*火*火*/while (i > j ) ch = bi; bi = buj; bu =ch;J-;J-;i+;while (*a II *b)If (*a) if (*b)*c=*b;c+; b+; *c = O;函数fun功能是:将s所指字符串中下标为偶数同步ASCII值为奇数字符删 除,S所指串中剩余字符串形成新串放在t所指数组中61、B: j k p M: < ifP: int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i+) if(!(i % 2) =O &&(si %2) tU+I = sil : tU = 0 ;62填空给定程序中,函数fun功能是:计算形参x所指数组中N个数平均值,作为函数值返回;并 将不不大千平均值书放在形参y所指数组中,在主函数中输出doublefun(do able xJ,double*y) int ijdouble av;/* f0/* f0und* */av=und* *for(i=O; i<N; i+) av = av 2for(i=j=O; i<N; i+)/7,7* 7* 7,7* 7,7> 7,01 7* 7,7* 7,7* 7* 7,7* 7,/不小不不不不不不不不td不不不不不不不不不不/if(xi>av)y3 = xi;return av;修改 给定程序MODil。C中函数fun功能是:依照整型变量m,计算如下公式/7" 7" 7,*1*7, 7,7,7,*1* /"*17, 7“ 7“ 7* 7,*1* *1* *1*1* TT/个个个小个个个个小个个个tc /nc个个个个个小小个个个个个Ifun ( int m ) double y = 0, d ;, 一 int /不可乎不不不不不不不.不r()unc不干不不一不不不不,不小/for(i = 100, i <= m, i += 100) d = (double)i * (double)i;y += 1 .Old;return(y);设计学生记录有学号和学习成绩构成N名学生数据已存入a构造体数组中,请 编写函数fun,函数功能是:找出成绩最低学生记录,通过形参返回主函数62、B: 0 xi/N j+ M: double ; ; P: inti, min= aO.s, j = 0; for(i =1 ; i < N ; i+)if(min > ai.s) j = i ; min = ai.s ; *s = aj;63填空给定程序中,函数fun功能是:计算x所指数组中N个数平均值,平均值通过形 参返回主函数,将不大千平均值最接近平均值数作为函数值返回,在 主函数中输出double fun(double x, do uble *av) int ij; double d,s;s=O;for(i=O; i<N; i+) s = s +xi;/7, 7,7, 7,7,1<1> *1* *1* *1*7,7,7,7” /个小小小小个个小个小Tei不个个个个小小个个个/1_ 二s/N;d=32767;for(i=O; i<N; i+)if(xij<*av && *av - xi<=d)/-I* -I” 匕7,1-I* .1,/小个个不小不小不下不TC 110(1 不不小不不不不不不个/d=*av-xi;j=_ 2_ ;return 3修改 给定程序MODil.c中函数fun功能是:依照整形形参n,计算如下公式#include <stdio.h>Y *1*7" 7" 7" 7" 7"7,*.1*7"7,7 7,!,7"*1* /I个小个个个个个个个个个个Tc 11 n(I个个个小个个小小小个小个/int fun ( int n) float A=l; int i;/* 比&nd 英* */for (i=2; i<n; i+)A= 1/(1+A);return A;设计程序定义了 N*N二维数组,并在主函数中自动赋值,请编写函数fu n ,函数功能 是:是数组右上三角元素中值乘以m63、B: *av i xU M: float <=n P: int i, j; for(i = 0 ; i < N ; i+) for(j = i ; j< N ; j+) aiU *= m ;83填空在给定程序中,函数fun功能是:将形参ss所指字符串数组中,查找具有形参 ubstr所指子串所有字符串并输出,假设没找到那么输出相应信息。ss所指字符串辘 共有N个字符串,且串长不大千Mo程序中库函数strstr(s 1 , s2)功能是在s 1串中 查找s2串,假设没有,函数值为0,假设有,为非0。修改给定程序MODil.C中函数fun功能是:求三个数最小公倍数。例如,给主函数中变量xl、x2、x3分别输入15 11 2,那么输出成果应当是:3 3 0 o 设计假定输入字符串中只包括字母和文号。请编写函数fu n ,它功能是:只删除字符串 中前导和尾部文号,串中字母之间文号都不删除。形参n给出了字符串长度,形参h 给出了字符串中前导*号个数,形参e给出了字符串中最后*号个数。在编写函数 时,不得使用C语言提供字符串函数。彳列如,字符串内容为:*头BC*DEF* G*,册U除后,A*BC*DEF*G。83、B: N substr O M: int y, int z r et um j;while(J< len-h-e)P: char *p=a ; intj=O,len=O; while(*p) p+; len+;aj=ah4-j; j+ + ; aD=O;84填空在给定程序中,函数fu n功能是:将形参ss所指字符串数组中,将所有串长超 过K字符串中右边字符删除,只保存左边k个字符。ss所指字符串数组中共有N个 字符串,且串长不大千M。修改给定程序MODiLC中函数fun功能是:依照如下公式求n值,并作为函数值返回。例如,给指定精度变量eps输入。.0。05是,应当输出Pi=3.140578o+-工2+4 - 9X3 - 7 2-X5X1 3+3 - 7X2 - 5X1 3+2 - 5X1- 3设计假定输入字符串中只包括字母和文号。请编写函数fun,它功能是:使字母串中前导*号不得多千n个,假设多于n个,那么删除多余*号,假设少于或等于n个,那么什么也不做,字符串中间和尾部大号不删除。例如,字符串内容为:*«*BC *DEF*G*,假设n值为4,删除后,字符串中内容应当是*BC*DEF*G * I n H为8 , W字符串中内容仍为*A*BC*DEF*G* *。 n 值在主函数中输入。在编写函数时,不得使用C 语言提供字符串函数。84> B: M N O M: t= 1 ; 2*s P: for(; aQ !=0 ; j + +)a(i+=afj;ai = O;85填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。函数fun功能是将形参a所指构造体变量中数据赋给函数中构造体变量b,并修改b中学 号和姓名,最后输出修改后数据。修改给定程序MODil.C中函数fun功能是:从s所指字符串中删除所有小写字母c。请改正程序中错误,使它能计算出对的成果。设计假定输入字符串中只包括字母和*号。请编写函数fun,它功能是:使字母串中前导*号所有移到字符串尾部。例如,字符串内容为:俎C*DEF*G*,移动后,字符串中内容应当 是A*BC*DEF*G次*权在编写函数时,不得使用C语言提供字符串函数。85、B:a b.name scorei M: su+=si;su='O'; P: while(p)*q+=*p+;86填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。函数fun功能是对形参b所指构造体变量中数据进行修改,最后在主函数中输出修改后数据。修改给定程序MODII.C中函数fun功能是:应用 递归算法求形参a平方根。求平方根迭代公式如下:xl=-:-(xO+)2 xO例如,a为2时,平方根值为1.414214设计假定输入字符串中只包括字母和*号。请编写函数fun,它功能是:将字母串中前导*号所有移到字符串尾部。例如,字符串内容为:*)MBC*DEF*G双*,移动后,字符串中内容应当p=h->next;while(p!=NULL && x>p->data) / vl* *£*1 *1* «4> *4*1* *1*/不,.、不不不不不不不干ind不不不不不不不不不不/q= 2.p=p->next;s->next=p;/ 7"7,7,7, 7>i 7* 7* 7* 7* 7* 7* 7> 7> 7> 7* /小不不不小不不小不干cind不不不不不不不不不不/q->next=_ 3修改 给定程序MODil .C中函数fun功能是:计算正整数num各位上数字之积。行如,假设输入:252 ,那么输入应当是:20假设输入:202 ,那么输出应当是:0.long fun (long num)/*X* *1>*£* kL*1 *1* *1*1* A*1* *1 *1* kL* *1* /不,.、不不不不,.、不不下不3*01 inn不不不不不不不不不不不不/long k;do k*=num%10 ;/ 7 77/ 7,1* 7 7, 7 7 7, 7 7> 7> 7* 7* 7 7 7 7,7* 7,7*/小不不小小不不小不不不千八n不不不小不小不不小不小个num=10 ; while(num);return (k);是A*BC*DEF*G* * *楸编写函数时,不得使用C语言提供字符串函数。86、 B : b- >s no b->name &t M: double xO (x 1 - xO) P: do uble t=O ; int i ; *n = 0 ; for(i = 0 ; i < N ; i+)t = t + ai.s ; t = t / N ; for(i = O ; i<N; i-i-+-)if(ai.s > t) b(*n)+ =ai ; return t ;87填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。函数fun 功能是将形参a中数据进行修改,把修改后数据作为函数值返回主函数进行输 出。修改假定整数数列中数不重复,并存储在数组中。给定程序MODI I.C中函数fun功 含是 删除数列中值为x元素。n中存储是数列中元素个数。设计学生记录由学号和成绩构成,N名学生数据已在主函数中放入构造体数组s中, 请编写函数fun,它功能是:把分数最低学生数据放在b所指数组中,注意:分 数最低学生也许不止一种,函数返回分数最低学生人数。87、 B : s (ruct student a.nam e a.scorei M: P 改小写 ai=ai+l; P: int i,n=O,mi n=a|O.s ; for(i=l;ivN;i+) if(min>ai.s) min=ai.s; for(i=O;i<N;i+) if(a i.s = min) bn+ +=afi; return n;88填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。函数fun 功能是将形参a所指构造体变量s中数据进行修改,并把a中地址作为函数值返 回主函数,在主函数中输出修改后数据。修改给定程序MODil .C中函数fun功能是:从N个字符串中找出最长那个串,并将 其地址作为函数返回。各字符串在主函数中输入,并放入一种字符串数组中。设计函数fun功能是:将a、b中两个两位正整数合并形成一种新整数放在c中。合 并方式是:将a中十位和个位数依次放在变量c百位和个位上,b中十位和个位 数依次放在变量c十位和于位上。例如,当a=45, b=12。调用函数后,c=2415。88、 > B : struct student * a->scorei a M: char * sp P:*c =(b%lO)* 1000+(a/10)* 100+(b/10)* 10+a%10;89填空程序通过定义学生构造体数组,存储了假设干名学生学号、姓名和3门课成绩。函 数fun功能是将存储学生数据构造体数组,按照姓名字典序(从小到大)排序。修改给定程序MODiLC中函数fun功能是:在p所指字符串找出ASCII码值最大字 符,将其放在第一种位置上;并将该字符前原字符向后顺序移动。例如,调用fun函数之前给字符串输入:ABCEeFGH,调用后字符串内容为:eABCDFGHo设计学生记录由学号和成绩构成,N名学生数据已在主函数中放入构造体数组s中, 请编写函数fun,它功能是:把指定分数范畴内学生数据放在b所指数组中,分 数范畴内学生人数由函数值返回。例如:输入分数是60 69,那么应当把分数在60到69学生数据进行输出,包括60分和69分学生数据,主函数中将把60放在low中,把69放在high中。89、 B: struct student t; n-1 ai.na me,aU.name M:; whileP: int ij = O ; for(i=O; i<N; i+) if(ai.s >= 1 && ai.s <= h) bj+ =ai ; return j ;90填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。所有学生 数据均以二进制方式输出到student.dat文献中。函数fun功能是从指定文献中找出 指定学号学生数据,读入此学生数据,对该生分数进行修改,使每门课分数加3 分,修改后重写文献中该学生数据,即用该学生新数据覆盖原数据,其他学生数 据不变;假设找不到,那么什么都不做。修改给定程序MODil .C中函数fun功能是:运 用插入排序法对字符串中字符按从小 到大顺序进行排序。插入法基本算法是: 先对字符串中头两个元素进行排序。然 后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个 字符插入到前三个字符中,。待排序字符串已在主函数中赋予。设计N名学生成绩已在主函数中放入一种带头结点链表构造中,h指向链表头结点。 请编写函数fun,它功能是:找出学生最高分,由函数值返回。90、B:fp = fp M: n=strlen( aa); ch=aai; P: double max=h->s; STREC*p; p=h->next;while(p) if(p->s>max ) max=p->s; p=p->next; return max;91填空 给定程序中,函数fun功能是用函数指针指向要调用函数,并进行调用。规定在_2处使f指向函数fl'在_3处使f指向函数f20当调用对的时,程序输出:X 1 =5 .000000 , x2=3.()()()()()(), x *x I +x I * x2=4().()()()()()()修改给定程序MODil .C是建立一种带头结点单向链表,并调用随机函数为各结点赋 值。函数fun功能是将单向链表结点坏涉及头结点)数据域为偶数值累加起来,并 且作为函数值返回。设计请编写函数fun,函数功能是:判断字符串与否为回文?假设是,函数返回1,主 函数中输出:YES,否那么返回0,主函数中输出NOo回文是指顺读和倒读都同样 字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。91、 B: double fl f2 M: p=h->next; p=p->next;P:int i=O,j=strle n(str)- 1; while(s tri+=str j-) ;if( i>=j) return I ;returnO;92填空给定程序中,函数fu n功能是将带头结点单向链表结点数据域中数据从小到大排序。即假设原链表结点数据域从头到尾数据为:10、4、2、8、6, 排序后链表结点数据域从头至尾数据为:2、4、6、8、10 o修改给定程序MODil.C是建立一种带头结点单向链表,并用随机函数为各结点数据域 值。函数fun作用是求出单向链表结点(不涉及头结点)数据域中最大值,并且 作为函数值返回。设计 请编写函数fun,函数功能是:将M行N列二维数组中数据,按行顺序依次放 到一维数组中,一维数组中数据个数存储在形参n所指存储单元中。例如,二维数组中数据为:33 33 33 3344 44 44 4455 55 55 55那么一维数组中内容应是:33 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 55。92、B: h->next p->next >= M: p=h->next; p=p->nextP: int ij; *n=0; fo r(i =O;i<mm;i+) for(J=0;j <nn;j+) b(*n)+=sij:93填空给定程序中,函数 fun功能是将不带头结点单向链表逆置。即假设原链表结点数据域从头到尾数据为:2、4、6、8、10 ,逆置后,从头至尾数据为:10、8、6、4、2o修改给定程序MODil.C中函数fun功能是:将s所指字符串中位千奇数位置字符或ASCII码为偶数字符放入t所指数组中(规定第一种字符放在第0位中)。例如,字符串中数据为: AABBCCDDEEFF贝IJ输出应当是:ABBCDDEFFo设计请编写函数fun,函数功能是:将M行N列二维数组中数据,按列顺序依次放 到一维数组中。例如,二维数组中数据为:33 33 33 3344 44 44 4455 55 55 55那么一维数组中内容应是:33 44 55 33 44 55 33 44 55 33 44 55。93、B: NODEnext rM: u tj =0;P: for(i=O; i<nn; i+)forU=O; j< mm ; j+) bnp = sLii ; np = i*mm+j+l; 94填空给定程序中,函数 fun 功能是将带头结点单向链表逆置。即假设原链表结点数据域 从头到尾数据为:2、4、6、8、10,逆置后,从头至尾数据为:10、8、6、4、2。修改给定程序MODil.C中函数fun功能是:把s所指字符串中具有t指字符串数目, 并作为函数值返回。设计请编写函数fun,函数功能是:将放在字符串数组中M个字符串(每串长度不超 过N),按顺序合并构成一种新字符串。例如,字符串数组中M个字符串为AAAABBBBBBBCC那么合并后字符串内容是:A A AA BBBBBBB CC94、B: next O r M: r=t; *r=O P: for(i=O ;i<M ; i+) strcat(b, ai);95填空给定程序中,函数fun功能是将不带头结点单向链表结点数据域中数据从小到大 排序。即假设原链表结点数据域从头到尾数据为:10、4、2、8、6,排序后链表结 点数据域从头至尾数据为:2、4、6、8、10。修改给定程序MODil .C中函数fun功能是:把s所指字符串中字母转换为按字母序列后续字母(但Z转换为A, z转换为a),其他字符不变。设计请编写函数fun,函数功能是:移动一维数组中内容,假设数组中有n个整数,规定把下标从0到p (含p, p不大于等于n-l)数组元素平移到数组最后。例如,一维数组中原始内容为:L 2, 3, 4, 5, 6, 7, 8, 9, 10; p值为3。移 动后,一维数组中内容应为:5 , 6, 7, 8, 9, 10, I, 2, 3, 4。95、B: p->next q p->next M: while(*s) s+P: inti, j =O, bNJ; for(i= p + 1 ; i<n; i+) bLi+ = wi ;for(i = O ; i <=p ; i+) bLi+ = wi ; for(i = 0 ; i < n ; i+) wi= bi;96填空给定程序中,函数fun功能是依照形参1值返回某个函数值。当调用对的时,程序 输出:x 1 = S.000000, x2 =3.000000, xl *xl +xl *x2=40.000000。修改给定程序MODil. C中函数fun功能是:比拟两个字符串,将长那个字符串首地 址作为函数值返回。设计请编写函数fun,函数功能是:移动字符串中内容,移动规那么如下:把第1到第m个字符,平移到字符串最后,把第m+1到最后字符移到字符串前部。例如,字符串中原有内容为:ABCDEFGHIJK, m值为3,那么移动后,字符串中内容应当是:DE FG H TJKABC。96、B: double fl 位 M: char fun ss+;tt+; P: inti; for(i= O ; i < m ; i+) funl (w);97填空给定程序中,函数fun功能是将参数给定字符串、整数、浮点数写到文本文献中, 再用字符方式从此文本文献中逐个读入并显示在终端屏幕上。修改给定程序MODil.C中函数fun功能是:依次取出字符串中所有数字字符,形成 新字符串,并取代原字符串。设计请编写函数fun,函数功能是:将M行N列二维数组中字符数据,按列顺序依 次放到一种字符串中;例如,二维数组中数据为:WWWWS S S SH H H H贝蒙符串中内容应是: WSHWSHWSHWSH o97、B: h->next p->next >= M: p=h->next; p=p->nextP: int ij; *n=O; fo r(i =O;i<rnrn;i+)fo r(j = O;j<nn ;j +)b(*n)+=siJ;98填空给定程序中,函数fun功能是将参数给定字符串、整数、浮点数写到文本文献中, 再用字符串方式从此文本文献中逐个读入,并调用库函数ato)和atof将字符串转 换成相应整数、浮点数,然后将其显示在屏幕上。修改 给定程序MODil .C中函数fun功能是:对N名学生成绩按从高到低顺序找出 前m(m<=lO)名学生来,并将这些学生数据存入在一种动态分派持续存储区中, 些存储区首地址作为函数值返回。设计请编写函数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。9 8 > B: FILE*fclose(fp) fp M: ; tkJ=bLiJ;P:int i, j = 1, k = aOl ; for(i = 1 ; i < n ; i+) if(k != ai) au4-+=ai ; k = ai ; au = 0 ; return j ;99填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。所有学生数 据均以二进制方式输出到文献中。函数fun功能是从形参filename所指文献中读 入学生数据,并按照学号从小到大排序,再用二进制方式把排序后学生数据输出到 filename所指文献中,覆盖本来文献内容。修改给定程序MOD1I .C中函数fun功能是:在字符串最前端加入n个大号,形成新串, 覆盖原串。设计请编写函数fun,函数功能是:记录各年龄段人数。N个年龄通过调用随机函数获 得,并放在主函数age数组中;规定函数把0至9年龄段人数放在dO中,把10 至龄段人数放在dl中,把20至29年龄段人数放在d2中,别的依此类推,把100岁(含10()以上年龄人数都放在dlO中。99、B: nrbn > fwrite M: p=s; ; P: inti, j ; for(i = 0 ;i<M ; i+) bi = 0 ; for(i = 0 ; i < N ; i+) j = ai /10;lf(j >10) bM- 1+ ; else bu+ ;100 .填空程序通过定义学生构造体变量,存储了学生学号、姓名和3门课成绩。所有学生数 据均以二进制方式输出到文献中。函数fun功能是重写形参filename所指文献中最 后一种学生数据,即用新学生数据覆盖该学生本来数据,其他学生数据不变。修改给定程序MODi 1.C中函数Creatlink功能是创立带头结点单向链表,并为各结点 数据域0到m-1值。请改正函数Creatlink中指定部位错误,使它能得出对的成 果。设计请编写函数fun,函数功能是:记录一行字符串中单词个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母构成,单词之间由假设干个 空 格隔开,一行开始没有空格。int k =100、B: filename fp fp M: NODE* return h P:while(* s) if(*s =") return k; 请编写一种函数fun,它功能是:它 功能是:计算n门课程平均分,计算成果作 为函数值返回。例如:假设有5门课程成绩是:90.5 , 72, 80, 61.5, 55那么函数值为:71.805 > B: x p sM: long k=l; num/= 10 ;P:inti; float ave=0.0; for(i=O; i<n; i+) ave=ave+ai ; ave=ave/n;return ave;6.填空给定程序中已建立一种带有头结点单向链表,在main函数中将屡次调用 fun函数,没 调用一次fun函数,输出链表尾部结点中数据,并释放该节点, 是链表缩短。void fun(SLIST *p) SLIST *t, *s;t=p->next; s=p;while(t->next != NULL) s=t;/* * */t=t->1 1;I *1* *1* <1,“1*4, *