国家二级c语言上机考试分类编程题.pdf

上传人:文*** 文档编号:88047570 上传时间:2023-04-20 格式:PDF 页数:113 大小:9.27MB
返回 下载 相关 举报
国家二级c语言上机考试分类编程题.pdf_第1页
第1页 / 共113页
国家二级c语言上机考试分类编程题.pdf_第2页
第2页 / 共113页
点击查看更多>>
资源描述

《国家二级c语言上机考试分类编程题.pdf》由会员分享,可在线阅读,更多相关《国家二级c语言上机考试分类编程题.pdf(113页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、编程题1、请编写函数firn,其功能是:找出IM整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序在文件P R Q G L C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句.#include#define M 4int fun(int aM J)main()int arr2 M=5,8,3,45,76,-4,1 2,82 ;void NONOQ;printf(nm a x =%dn fun(arr);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *w f;

2、int arrM=5,8,3,9 0,76,-4,1 2,82 ;w f =fbpen(out.dat,w);fprintf(wf,umax=%dn,fun(arr);fclose(wf);)【参考答案】int fun(int aM)(int iJ,max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(maxaij)max=aij;return max;)2、请编写函数碗,其功能是:找出2 x M整型二维数组中最大元素的值,并将此值返回调用函数.注意:部分源程序在文件P RO G 1.C中.请勿改动主函数main和其它函数中的任何内客,仅在函数fUn的花括号中填入你编写

3、的若干语句.#include#define M 4int fun(int aM)main()int arr2M=5,8,3,45,76,-4,12,82;void NONO();printf(nmax=%d n*f un(arr);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*wf;int arrM 1=5,8,3,90,76,-4,12,82);wf =f open(,out.d at,wu);f printf(wf,max=%d n,f un(arr);f close(wf);)【参考答案】int fun(int aM)i

4、nt iJ,max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(maxaij)max=aij;return max;编写酸firn,其功能急求出倒皿此间能被7或1 1 整 除,但 不 能 同 时 被 7和1 1 整除的所有整数,荆骐放在新雕数组 中,通 过 碰 回 这 些 数 的 个 乳注意:部分原程臊文件PR 0G 1.C 中.许嫩动主线m ai/艇儆中舱何内容,仅在由郑in的佛号棚入你嘱的若干语句.#includ e void f un(int*a,int*n)main()int aa1000,n,k;void NONO();f un(aa,&n);f or(k=

5、0;k n;k+)if(k+1)%10=0)print。);else printf(n%5d,aak);NONO();void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/int aa 10001,n,k;FILE*fp;f p=f open(out.d at,wn);f un(aa,&n);f or(k=0;k n;k+)if(k+1)%10=0)f printf(f p,An“);else f printf(f p,n%5dn,aa(k);f close(f p);【参考答案】void fun(int*a,int*n)(int ij=0;for

6、(i=l;i=1000;i+)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/if(i%7=0|i%ll=0)&i%77!=0)aj+=i;*n=j;规定输入的字符串中只包含字母和俎编写函数血,其功能是:删除字符串中所有的*号.编写函数时,不得使用保言提供的字符串函数.例如,字符串中的内容为:*A*B C*D E F*G*,删除后字符串中的内容应当是:A B C D E FG.注总部分源程、在文件P RQG L C中.请勿在动主函数血睁其它函数中的任何内容,仅在函数fim的花样号中填入你编写的若干的语句.#includ e void f un(ch

7、ar*a)main()char s81;void NONO();printf(Enter a string:nM);gets(s);f un(s);printf(*The string af ter d eleted:n);puts(s);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s|81;in=f open(in.d atn,rn);out=f open(out.d atn,nwn);f or(i=0;i;编写函数fim,具功能息实现两个字符串的连撤不要使用库函数strcat),即

8、把p2所指的字符串连接到pl所指的字符串的后面。例如,分别输入下面两个字符串:FirstStringSecondString程序输出;FirstString SecondString注意:部分源程用在文件P RQG 1,时。谙勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#includ e void f un(char pl,char p2)main()charsl80,s240;void NONO();printf(Enter si and s2:nH);scanf(,%s%s,si,s2);printf(sl=%sn,s i);printf(,

9、s2=%sn,s2);printf(Invoke f un(sl,s2):n);f un(sl,s2);printf(nAf ter invoking:n);printf(,%sn,s i);NONO();void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/in ti;FILE*rf,*wf;char sl|80|,s2|40|;rf=f open(,in.d at;,rn);wf =f open(out,d atn,wn);f or(i=0;i 10;i+)f scanf(rf,n%sn,s i);f scanf(rf,M%sM,s2);f u

10、n(sl,s2);f printf(wf,H%snn,si);)f close(rf);f close(wf);)【参考答案】void fun(char pl,char p2)int ij;for(i=0;pli!=0;i+);forG=0;p2j!=0;j+)pli+=p2j;pli=O;某学生的记录由学与扪课程成绩和平均分组成,学号和8门 课 程 的 成 绻 已 在 主 函 数 中 给 出,谪 编 写 函 数ftm,其 功 能悬求出该学生的平均分,并 放 入 记 录 的av威 员 中.例 如,学生械绻悬85.5,76,69.5,85,91,72,64.5,87.5,则 他 的 平 均 分

11、应 为78耶.注 意:部 分 源 程 序 在 文 件P R Q G L时.请 勿 改 动 主 函 数m ain和 其 它 函 数 中 的 任 何 内 容,仅 在 函 数 圆部 位 中 境 入 你 给 写 的 若 干 卷 句.#include#define N 8typedef struct char num1 0;double sN;double ave;STRE C;void fun(STRE C *a)main()STRE C s=G A 0 0 5”,85.5,76,69.5,85,9 1,72,64.5,87.5;int i;void N O N O ();fun(&s);printf

12、(/zThe%s s student data:n/z,s.num);for(i=0;i N;i+)printf(%4.lfn”,s.si);printf(z/nave=%7.3fn”,s.ave);N 0 N 0();)void N O N O()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *out;int i,j;STRE C s1 0 =“G A 0 0 5”,85.5,76,69.5,85,9 1,72,64.5,87.5,“G A 0 0 1”,82.5,66,76.5,76,89,76,46.5,78.5,“G A 0 0 2”,72.5,56

13、,66.5,66,79,68,46.5,58.5,“G A 0 0 3”,9 2.5,76,86.5,86,9 9,86,56.5,88.5),“G A 0 0 4”,82,66.5,46.5,56,76,75,76.5,63.5,“G A 0 0 6”,75.5,74,71.5,85,81,79,64.5,71.5,G A 0 0 7,9 2.5,61,72.5,84,79,75,66.5,72.5,G A 0 0 8,72.5,86,73.5,80,69,63,76.5,53.5,G A 0 0 9 ,66.5,71,74.5,70,61,82,86.5,58.5,G A 0 1 0,76

14、,66.5,75.5,60,76,71,9 6.5,9 3.5,);out=fopen(out.dat,w);for(i=0 ;i 1 0 ;i+)fun(&s i);fprintf(out,%7.3fn,si.a v e);)fclose(out);)【参考答案】oid f un(STREC*a)(d ouble ave=0.0;inti;f or(i=0;iave=a-ave+a-s i;/*求各门成绩的总和*/a-ave/=N;/*求平均分*/N名学生的成绩已在主函数中放入一个带头节点的链表结构中,城旨向链表的头节点.话编与必数面,其功能是:求出平均分,并由函数值返回。例如,若学生的成绩

15、是:85 76 69 85 9 1 72 64 87,则平均分应当是,78.62 5.注意:部分源程用在文件P R0 G L C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fim的花括号中填入你编写的若干语句。#include#include#define N 8struct slist double s;struct slist*next;);typedef struct slist STRE C;double fun(STRE C *h)STRE C *creat(double*s)STRE C *h,*p,*q;int i=0;h=p=(STRE C*)malloc(siz

16、 eof(STRE C);p-s=0;while(is=si;i+;p-next=q;p=q;)p-next=0;return h;)outlist(STRE C *h)STRE C *p;p=h-next;printf(head);do printf(,z-%4.lf/z,p-s);p=p-next;while(p!=0);printf(nn);)main()double s N =85,76,69,85,9 1,72,64,87,ave;void N O N O ();STRE C *h;h=creat(s);outlist(h);ave=fun(h);printf(,zave=%6.3f

17、n/z,ave);N O N O O ;)void N 0 N 0()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *in,*out;int i,j;double sN,ave;STRE C *h;in=fopen(in.dat,r);out=fopen(out.dat,w);for(i=0 ;i 1 0 ;i+)for(j=0 ;j next;while(p!=NULL)ave=ave+p-s;p=p-next;)return ave/N;8、编写函数fUn,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过施回。例如,若输入1

18、7,则应输出:4 6 8 9 1 0 1 2 1 4 1 5 1 6.注意:部分源程序在文件PRQG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数firn的花括号中填入你编写的若干语句。ttinclude void fun(int m,int*k,int xx)main()(int m,n,z z 1 0 0;void N O N O ();printf(z,nP lease enter an integer number between 1 0 and 1 0 0:);scanf(%d,&n);fun(n,&m,z z );printf(/znnThere are%d no

19、n-prime numbers less than%d:,m,n);for(n=0;n m;n+)printf(n%4d,z z n);N O N O();)void N O N O O(/*请在此函数内打开文件,输入测试数据,调 用 f u n 函数,输出数据,关闭文件。*/int m,n,z z 1 0 0;FI L E *rf,*wf;rf=fopen(in.dat,r);wf=fopen(out.dat,w);fscanf(rf,%d,&n);fun(n,&m,z z );fprintf(wf,%dn%dn,m,n);for(n=0;n m;n+)fprintf(wf,z z%dn/z

20、,z z n);fclose(rf);fclose(wf);)【参考答案】void f un(int m,int*k,int xx)(int i,j,n=O;f or(i=4;im;i+)/*找出大于1小于整数m的非素数*/for(j=2;j i;j+)if(i%j=0)break;if(j i)xxn+=i;)*k=n;/*返回非素数的个数*/9、编写函数fb n,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。注意:部分源程序在文件PR0GLC中。请勿改动主函数main和其它函数中的任何内容,仅在函数f un的花括号中填

21、入你编写的若干语句。#includ e#includ e#d ef ine M 81int f un(char*ss,char c)main()char aM,ch;void NONO();printf(AnPlease enter a string:*);gets(a);printf CAnPlease enter a char:1);ch=getchar();printf CnThe number of the char is:%d nn,f un(a,ch);NONO();)void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti;FI

22、LE*rf,*wf;char aM,bM,ch;rf=f open(,in.d at,rH);wf =f open(,out.d at,wu);f or(i=0;i 10;i+)f scanf(rf,M%s,a);f scanf(rf,M%sM,b);ch=*b;f printf(wf,%c=%d nM,ch,f un(a,ch);)f close(rf);f close(w0;)【参考答案】int f un(char*ss,char c)(int i=0;f or(;*ss!=,0,;ss4-+)if(*ss=c)i+;/*求出ss所指字符串中指定字符的个数*/return i;10、编写函

23、数fim,其功能是:计算课程的平均分,结果作为函数值返回.例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80.注意:部分源程序在文件PRQG1.C中.诘勿敌动主函数man由其它函数中的任何内容,仅在函数f im的花括号中的填入你编写的若干语句.#includ e f loat f un(f loat*a,int n)main()f loat score30J=90.5,72,80,61.5,55,aver;void NONO();aver=f un(score,5);printf(HnAverage score is:%5.2f nn,aver);NON

24、O();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*f p,*wf;in ti,j;f loat aver,score5;f p=f open(,in.d at,r);wf =f open(oul.d atJw);f or(i=0;i 10;i+)f or(j=0;j 5;j+)f scanf(f p,f,”,&scorejD;aver=f un(score,5);f printf(wf,n%5.2f nn,aver);)f close(f p);f close(wf);)【参考答案】f loat f un(f loat*a,int n

25、)(int i;f loat av=0.0;f or(i=0;in;i+)/*求分数的总和*/av=av+ai;return(av/n);/*返回平均值*/11、学生的既由学 号 械 嬲 成,N名学生的数据已放入主函数中的结构械纵中,请朝函数狐具功能悬把分软髓的学生数据放在啾指的数组中.注意:分飕高的学生可能不止一个,函数返回分数最高的学生的人数.注新部分源程用在文件PRQ G 1,时.陆勿设动主画物nain和其它所教中的任何内容,仅在函数f im的花括号中填入你缩写的若干语句.#includ e#d ef ine N 16typed ef struct char num10;int STRE

26、C;int f un(STREC*a,STREC*b)main()STREC sN=nGA05M,85,nGA03n,76,HGA02n,69,nGA04n,85,“GA01”,91,“GA07”,72,“GA08”,64,“GA06”,87,uGA015,85,GA013n,91,GA012n,64,GA014,1,91,GAO 11,77,“GAO 17”,64,“G AO 18”,64,”G AO 16”,72;STREC hN;int i,n;FILE*out;n=f un(s,h);printf CThe%d highest score:nu,n);f or(i=0;in;i+)pr

27、intf(%s%4d n,hi.num,hi.s);printf(AnM);out=f open(,out.d at,wu);f printf(out,%d n”,n);f or(i=0;in;i+)f printf(out,n%4d n,hi.s);f close(out);)【参考答案】int f un(STREC*a,STREC*b)(int iJ=0,max=a0.s;/*找出最大值*/f or(i=0;iN;i+)if(maxai.s)max=ai.s;f or(i=0;iN;i+)if(max=ai.s)bj+=ai;/*找出成绩与max相等的学生的记录,存入结构体b中*/retu

28、rn j;/*返回最高成绩的学生人数*/航纵孵符耕只包含耨种号.潮 曲勤加其璇同 早 解 前 导 削 号 之 外,解中舵*吃部除 磁 驰 斛 襦期僭言海孵裤函况例如物串例随为;*楙*A*BC*DEF*G*,W赊后镯釉的檎噌是;擀*A BCDEFG,#includ e void f un(char*a)(/*以下代码仅供参考*/int i=0,k;while(ai=*)i+;k=i;while(ai!30)/*以下程序段实现非*字符前移*/ak=W;)main()char s81;void NONO();printf(Enter a string:n);gets(s);f un(s);print

29、f(The string af ter d eleted:n);puts(s);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s81;in=f open(in.d at,V,rn);out=f open(,out.d at,nw,);f or(i=0;i 10;i+)f scanf(in,%sH,s);f un(s);f printf(out,%snM,s);)f close(in);f close(out);)【参考答案】void fun(char*a)(int i=0;char*p=

30、a;while(*p&*p=*)ai=*p;i+;P+;while(*p)(if(*p!=*)ai=*p;i+;P+;ai=O;)13、编写函数而d f tin(char*tt.int pp口),统计在断指的字符串中a到/26个小写字母各自出现的次数,并依次放在pp所指 的 教 组 中.例如,当输入字符串abcd ef琳)cd eabc后,程序的输出结果应该是:33322110000000000000000000#includ e#includ e void f un(char*tt,int pp|)main()char aa1000J;int bb26,k;void NONO();print

31、f(nPlease enter a char string:);scanf(s”,aa);f un(aa,bb);for(k=0;k 2 6;k+)printf(M%d ”,bbk);printf(Xn);NONO();void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/char aa1000;int bb26,k,i;FILE*rf,*wf;rf =f open(nin.d atM,nrH);w f =f o p e n(o u t.d a t ,w );f o r(i =0 ;i 1 0 ;i+)f s c a n f(r f,a a);f

32、u n(a a,b b);f o r (k =0 ;k 2 6 ;k+)f p r i n t f (w f,n%d ,b b k );f p r i n t f(w f,n nn);)f c l o s e(r f);f c l o s e(w f);)【参 考 答 案】v o i d f u n(c h a r *t t,i n t p p )(i n t i;f o r(i=0;i=,a&*t t=,z)p p *t t-a +;)14、规定输入的字符串中只包含字母和*号。请编写函数血,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动.例如,字符串中的内容为:*A*B C*D

33、E F*G*,删除后,字符串中的内容应当是:*A*B C*D E F*G.在编写函数时,不得使用C语言提供的字符串函数.S i n c l u d e v o i d f u n(c h a r *a )m a i n()c h a r s 81 ;v o i d N O N O ();p r i n t f (E n t e r a s t r i n g:nz/);g e t s(s);f u n (s );p r i n t f (,zT h e s t r i n g a f t e r d e l e t e d:n,z);p u t s(s);N 0 N 0();)v o i d

34、N O N O ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/F I L E *i n,*o u t ;i n t i ;c h a r s 81 ;i n =f o p e n (i n.d a t ,r );o u t =f o p e n(o u t.d a t ,w);f o r(i =0 ;i 1 0 ;i+)f s c a n f(i n,%s ,s);f u n(s);f p r i n t f(o u t,s n ,s);)f c l o s e(i n);f c l o s e(o u t);)【参考答案】void f un(char*a)(whil

35、e(*a!=Of)a+;a-;/*指针a指向字符串的尾部*/while(*a=,*)a-;/*指针a指向最后,个字母*/*(a+l)=0;/*在字符串最后加上结束标志符*/)1 5、职能是:出游符串眯厮(不船用喏言提躺游符眯翻碱),碱返回魁胛符我阚个镯长助胴,赎回第一个都胤例如输入b e ijin g sh a n g h a i(为 回 车 圈),曲 软 将 返 班h a n g h a i.#i n c l u d e c h a r *f u n (c h a r *s,c h a r *t)()m a i n ()c h a r a 2 0 ,b 2 0 ;v o i d N O N

36、O ();p r i n t f(I n p u t 1 t h s t r i n g:);g e t s(a);p r i n t f (I n p u t 2 t h s t r i n g:z,);g e t s(b);p r i n t f(%s n”,f u n (a,b);N O N O ();)v o i d N O N O ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/F I L E *f p,*w f;in t i;char a 20,b 2 0;fp=fopen Cin.d a t,r);wf =fopen(z,out.d a t,w);fo r

37、(i=0;i 10;i+)fsc a n f(fp,%s%s,a,b);fp r in tf(wf,如n”,fun(a,b);)fclo se (fp);fc lo se(w f);)【参考答案】char*f un(char*s,char*t)(int i,j;f or(i=0;si!=()&+);/*求字符串的长度*/fo r(j=0;tj!=0;j+);if(i=j)/*比较两个字符串的长度*/return t;/*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/elsereturn s;)16、牲猊鼬耨殿麟,楣胜僦胁邮黏蛛微黜,请柄漱趾 W:漱蛔落期蝉例/靛孵号画改辎九

38、智娥钳能学号,蹄博幡号I辨,-1.惭佣拜神除触软觊卿).#includ e#includ e#d ef ine N 16typed ef struct char num10;int s;STREC;STREC f un(STREC*a,char*b)main()STREC sN=nGA005M,85,nGA003n,76,GA002H,69,HGA004M,85,nG AOO r9 1,nG A007n,72,nG AOO8 M,64,nGA006n,87),GAO 15”,85,“G AO 13”,91,“G AO 12”,64,“GAO 14*91,“GA011”,77,“GA017”,6

39、4,“GA018”,64,“GA016”,72;STREC h;char m10;int i;FILE*out;printf(*The original d ata:nn);f or(i=0;iN;i+)if(i%4=0)printf(nu);printf(%s%3d n,si.numtsi.s);)printf(nnEnter the number:);gets(m);h=f un(s,m);printf(The d ata:);printf(An%s%4d n,h.num,h.s);printf(AnH);out=f open(out.d atwM);h=f un(s,nGAO13M);f

40、 printf(out,M%s%4d nH,h.num,h.s);f close(out);【参考答案】STREC f un(STREC*a,char*b)(int i;STRECstr=”O”,-l;/*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置一1*/for(i=0;iN;i+)if(strcm p(ai.num,b)=0)/*找到指定学号的学生数据*/s tr=a i;str=a i;return str;/*返回学生记录*/17、螂 加 m b w-w&f,辘 槌 赫肝蝴懈减 械 械 鼾 处 躺 懈 舶 酬 越聊,当 例 5,问 就,跚i邈娠c=5W l#includ e

41、 void f un(int a,int b,long*c)main()int a,b;long c;void NONO();printf(nInput a,b:n);scanf(d,%d”,&a,&b);f un(a,b,&c);printf(The result is:%d n,c);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,a,b;long c;rf=f open(uin.d at;Mr);wf =f open(,out.d at,wn);f or(i=0;i 10;i+)f scanf(

42、rf,H%d,%d,&a,&b);f un(a,b,&c);f printf(wf,na=%d,b=%d,c=%ld nu,a,b,c);)f close(rf);f close(w0;)【参考答案】void f un(int a,int b,long*c)(*c=b%10+(a/10)*l 0+(b/10)*100+(a%10)*1000;)18编写函数f i r n,其功能是:利用下面的简单迭代方法求方程cos(x)x=0 的一个实根.%=c os 1)迭代步骤如下:(1)取幻初值为0.0;(2)x 0=x l,将x l的值赋给x O;(3)x l=cos(x 0),求出一个新的x l;(

43、4)若X。-x l的绝对值小于0.0 0 0 0 0 1,执行步聚(5),否则执行步聚(2);(5)所求x l就是方程cos(x)x=0 的一个实根,作为函数值返回.程序烙给中结更R nnt=D 7 祀D M.#includ e#includ e d ouble f un()main()(void NONO();printf(Root=%fn,fun();NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*w f;wf=fopen(,out.dat,wn);fprintf(wf,fun();fclose(wf);)【参考答案】do

44、uble fun()(double xO,xl;x 1=0.0;do(x0=x 1;xl=cos(x0);while(fabs(xO-x l)=le-6);return xl;)18、规定输入的字符串中只包含锢和号请编写函数加频能悬将字符串中的前导*号全部移到字符串的尾鼠例如,字符串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当悬A*BC*DEF*G*.在编锄时,不雕用笳言雕的字符串函船#include void fun(char*a)main()char s81;int n=0;void NONO();printf(Enter a string:n);gets(s);fun

45、(s);printf(The string af ter moveing:nM);puts(s);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s81;in=f open(,in.d at,Y,);out=f open(out.d at,nw);f or(i=0;i 10;i+)f scanf(in,s,s);f un(s);f printf(out,H%snM,s);f close(in);f close(out);)【参考答案】void f un(char*a)(int i=0,n=

46、0;char*p;p=a;while(*p=*)/*判断*p是否是*号,并统计*号的个数*/(n+;p+;while(*p)/*将前导*号后的字符传递给a*/ai=*p;i+;p+;while(n!=0)ai=*;i+;n-;)a i-0;)19、规定输入的字符串中只包含字母和*号.请编写函数f on,具功能是:将字符串中的前导*号全部移到字符串的尾部.例如,字符串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当是:A*BC*DEF*G*.在编写函数时,不得使用C语言提供的字符串函数.#includ e void f un(char*a)main()char s81;int n

47、=0;void NONO();printf(Enter a string:n);gets(s);f un(s);printf(*The string af ter moveing:nn);puts(s);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s81;in=f open(,in.d at,T,);out=f open(out.d atn,w);f or(i=0;i 10;i+)f scanf(in,%sM,s);f un(s);f printf(out,sn”,s);f close

48、(in);f close(out);)【参考答案】void f un(char*a)(int i=0,n=0;char*p;p=a;while(*p=*)/*判断*p是否是*号,并统计*号的个数*/(n+;p+;)while(*p)/*将前导*号后的字符传递给a*/(ai=*p;i+;p+;)while(n!=0)a i-*;i+;n-;)a i-0;)20联虢物懒眦 瞬 带 蝌 微 B 中,帧想糠肝酗懒臧镰腑躺处触掰他微械楙料处胸,组=4 5,b=lM 酬嫡f e c=151#includ e void f un(int a,int b,long*c)main()int a,b;long c

49、;void NONO();printf(nInput a,b:n);scanf(n%d,%dM,&a,&b);f un(a,b,&c);printf(The result is:%ld nn,c);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;int i,a,b;long c;rf=fopen(uin.d at;nrH);wf =f open(,out.d at,wn);f or(i=0;i 10;i+)f scanf(rf,%d,%d,&a,&b);f un(a,b,&c);f printf(wf,a=%d,b

50、=%d,c=%ld nu,a,b,c);)f close(rf);f close(wf);)【参考答案】void f un(int a,int b,long*c)*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;21、罩写函数f i r n,其功能是计算:s=Jin+ln(2)+ln+ln(5作为函数值返回.在C语言中可调用lo g(n)函数求ln(n)lo唾数的引用说明为:dou ble lo g(dou ble x).列如,若m的值为2。,则fu n函数宿为6.5 0 6 5 8 3。#includ e#includ e d ouble f un(int m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁