二级C语言上机题库_南开100题.pdf
《二级C语言上机题库_南开100题.pdf》由会员分享,可在线阅读,更多相关《二级C语言上机题库_南开100题.pdf(354页珍藏版)》请在咨信网上搜索。
说明:本题库是针对2008年4月份考试的上机考试题库,本题库共有100套题目(每套题 目包含3道题:一道程序填空题、一道程序修改题、一道程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套题目(包含三 道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机 会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)二级C语言上机试题汇编第01套:给定程序中,函数f im的功能是:将形参n所指变量中,各位上为偶数的数去 除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e void f iin(unsig ned l ong*n)unsig ned l ong x=0,i;int t;i=l;whil e(*n)t=*n%_1_;/*Cund*/if(t%2!=_2_)x=x+t*i;i=i*10;*n=*n/10;/*Cund*/*n=_3 ma in()unsig ned l ong n=l;whil e(n99999999|n0)print f(Pl ea se input(0n 100000000):);sc a nf(%l d,&n);f un(&n);print f(nThe resul t is:%l d n,n);)解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。第二处:判断是否是奇数,所以应填:0o第三处:最后通形参n来返回新数x,所以应填:x o*给定程序MODI1.C中函数f un的功能是:计算n!。例如,给n输入5,则输出120.000000o请改正程序中的错误,使程序能输出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e d oubl e f un(int n)d oubl e resul t=1.0;/*Sund*/if n=0 ret urn 1.0;whil e(n 1&n 170)/*Cund*/resul t*=n ret urn resul t;ma in()int n;print f(Input N:);sc a nf(%d,&n);print f(nn%d!=%l f nn,n,f un(n);)解题思路:第一处:条件语句书写格式错误,应改为:if(n=O)。第二处:语句后缺少分号。*请编写一个函数f im,它的功能是:将一个数字字符串转换为一个整数(不得 调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串”-1234,则 函数把它转换为整数值-1234。函数f im中给出的语句仅供参考。注意:部分源程序存在文件PR0G1.C文件中。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f un的花括号中填 入你编写的若干语句。给定源程序:#inc l ud e#inc l ud e l ong f un(c ha r*p)(/*以下代码仅供参考*/int i,l en,t;/*l en为串长,t为正负标识*/l ong x=0;l en=st rl en(p);if(pO=-)t=-l;l en-;p+;el se t=l;/*以下完成数字字符串转换为一个数字*/ret urn x*t;ma in()/*主函数*/c ha r s6;l ong n;print f(Ent er a st ring:n);g et s(s);n=f iin(s);print f(%l d n,n);NONO();)NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*f p,*wf;int i;c ha r s20;l ong n;f p=f d pen(c:t est in.d a t,r);wf=f open(c:t est out.d a t,w);f d r(i=0;i 10;i+)f sc a nf(f p,%s,s);n=f un(s);f print f(wf,%l d n,n);)f c l ose(Q);f c l ose(wf);解题思路:本题是将一个数字字符串转换为一个整数。参考答案:#inc l ud e#inc l ud e l ong f t m(c ha r*p)(/*以下代码仅供参考*/int i,l en,t;/*l en为串长,t为正负标识*/l ong x=0;l en=st rl en(p);if(pO=-)t=-l;l en-;p+;el se t=l;/*以下完成数字字符串转换为一个数字*/whil e(*p)x=x*10-48+(*p+);ret urn x*t;ma in()/*主函数*/c ha r s6;l ong n;print f(Ent er a st ring:n);g et s(s);n=f iin(s);print f(%l d n,n);NONO();)NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*f p,*wf;int i;c ha r s20;l ong n;f p=f open(c:t est in.d a t,r);wf=f open(c:t est out.d a t,w);f d r(i=0;i 10;i+)f sc a nf(f p,%s,s);n=f un(s);f print f(wf,%l d n,n);)f c l ose(Q);f c l ose(wf);注意:由于NONO()这个函数是改卷人用的,与考生没有什么关系,故下面从第2套试题 开始均省略NONO()第02套:给定程序中,函数f im的功能是将形参给定的字符串、整数、浮点数写到文本 文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e void f iin(c ha r*s,int a,d oubl e f)/*Cund*/_1_ f p;c ha r c h;f p=f d pen(f il el.t x t,w);f print f(f p,%s%d%f n,s,a,f);f c l ose(f p);f p=f open(f il el.t x t,r);print f(nThe resul t:nn);c h=f g et c(f p);/*Cund*/whil e(!f e of(_2_)/*Cund*/put c ha r(_3_);c h=f g et c(f p);put c ha r(n);f c l ose(Q);ma in()c ha r a 10-Hel l o!;int b=12345;d oubl e c=98.76;f un(a,b,c);解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。第一处:定义文本文件类型变量,所以应填:FILE*O第二处:判断文件是否结束,所以应填:f p0第三处:显示读出的字符,所以应填:c h。*给定程序MODH.C中函数f im的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。请改正函数f im中指定部位的错误,使它能得出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e void f un(c ha r*s)int i,j;f d r(i=O,j=O;si!=0;i+)if(si=0&si=,9,)/*Cund*/sU=si;/*Cund*/sU-0;)ma in()c ha r it em80;print f(nEnt er a st ring:);g et s(it em);print f(nnThe st ring is:%sn,it em);f iin(it em);print f(nnThe st ring of c ha ng ing is:%sn,it em);)解题思路:第一处:要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j 来控制新字符串的位置,所以应改为:sU+=si;o第二处:置新字符串的结束符,所以应改为:sj=,Ot.*请编写函数f im,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,二维数组中的数据为:wwwwssssHHHH则字符串中的内容应是:WSHWSHWSHo注意:部分源程序在文件PROG 1.C中。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f on的花括号中填入 你编写的若干语句。给定源程序:#inc l ud e#d ef ine M 3#d ef ine N 4 void f un(c ha r sN,c ha r*b)(int i,j,n=O;f or(i=0;iN;i+)/*请填写相应语句完成其功能*/()bn=0;ma in()c ha ra 100,wMNhW,W,W,W,S,S,S,S),H,H;H,H;int i,j;print f(The ma t rix An);f or(i=0;iM;i+)f or(j=O;jN;j+)print f(%3c,wij);print f(n);)f un(w,a);print f(The A st ring:n);put s(a);print f(nn);NONOQ;解题思路:本题是把二维数组中的字符数据按列存放到一个字符串中。1.计算存放到一维数组中的位置。2.取出二维数组中的字符存放到一维数组(已计算出的位置)中。参考答案:void f un(c ha r sN,c ha r*b)(int i,j,n=O;f or(i=0;iN;i+)/*请填写相应语句完成其功能*/(f or(j=O;jM;j+)bn=sji;n=i*M+j+1;)bn=0;第03套:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数f un的功能是重写形参f il ena me所 指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学 生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#d ef ine N 5t yped ef st ruc t st ud ent l ong sno;c ha r na me10;f l oa t sc ore3;STU;void f un(c ha r*f il ena me,STU n)FILE*f p;/*f bund*/f p=f open(_l _,rb+);/*Cund*/f see k(_2_,-l L*sizeof(STU),SEEK_END);/*Cund*/f writ e(&n,sizeof(STU),1,_3_);f c l ose(f p);ma in()STU t N=10001,Ma Cha o,91,92,77,10002,Ca oKa i,75,60,88,10003,LiSi,85,70,78,10004,Fa ng Fa ng,90,82,87,10005,Zha ng Sa n,95,80,88;STU n=10006,Zha oSi,55,70,68,ssN;int ij;FILE*f p;f p=f open(st ud ent.d a t,wb);f writ e(t,sizeof(STU),N,f p);f c l ose(Q);f p=f open(st ud ent.d a t,rb);f rea d(ss,sizeof(STU),N,f p);f c l ose(Q);print f(nThe orig ina l d a t a:nn);f or(j=0;jN;j+)print f(nNo:%l d Na me:%-8s Sc ores:,ssj.sno,ssj.na me);f or(i=0;i3;i+)print f(%6.2f,ssj.sc orei);print f(n);f un(st ud ent.d a t,n);print f(nThe d a t a a f t er mod if ing:nn);f p=f open(st ud ent.d a t,rb);f rea d(ss,sizeof(STU),N,f p);f c l ose(Q);f or(j=0;jN;j+)print f(nNo:%l d Na me:%-8s Sc ores:,ssj.sno,ssj.na me);f or(i=0;i3;i+)print f(%6.2f,ssj.sc orei);print f(n);解题思路:本题是考察如何从文件中读出数据,再把结构中的数据写入文件中。第一处:从指定的文件中读出数据,所以应填:f il ena meo第二处:读取文件中的最后一条记录,所以应填:f po第三处:再把读出的记录,写入文件中指定的位置上,所以应填:*给定程序MODIl.C中的函数Crea t l ink的功能是创建带头结点的单向链表,并 为各结点数据域赋0到m-1的值。请改正函数Crea t l ink中指定部位的错误,使它能得出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#inc l ud e t yped ef st ruc t a a int d a t a;st ruc t a a*nex t;NODE;NODE*Crea t l ink(int n,int m)NODE*h=NULL,*p,*s;int i;/*Cund*/p=(NODE)ma l l oc(sizeof(NODE);h=p;p-nex t=NULL;f d r(i=l;id a t a=ra nd()%m;s-nex t=p-nex t;p-nex t=s;p=p-nex t;/*Cund*/ret urn p;out l ink(NODE*h)NODE*p;p=h-nex t;print f(nnTHE LIST:nn HEAD);whil e(p)print f(,-%d,p-d a t a);p=p-nex t;)print f(n);)ma in()NODE*hea d;hea d=Crea t l ink(8,22);out l ink(hea d);)解题思路:第一处:指向刚分配的结构指针,所以应改为:p=(NODE*)ma l l oc(sizeof(NODE);第二处:在动态分配内存的下一行语句是,使用临时结构指针变量h保存p指针的初始位置,最后返回不能使用P,是因为p的位置已经发生了变化,所以应改为返回鼠*请编写函数f im,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。注意:部分源程序在文件PROG1.C中。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f un的花括号中填入你编写的若干语句。给定源程序:#inc l ud e#inc l ud e#d ef ine N 80int f un(c ha r*s)ma in()c ha r l ineN;int num=O;print f(Ent er a st ring:n);g et s(l ine);num=f un(l ine);print f(The number of word is:%d nn,num);NONO();)解题思路:本题是统计字符串中的单词数。1.利用whil e循环语句和指针变量,当字符为空格时,则单词数k加1。2.循环结束返回ko参考答案:int f iin(c ha r*s)(int k=1;whil e(*s)if(*s=)k+;s+;ret urn k;第04套:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数f un的功能是从形参f il ena me所指 的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的 学生数据输出到f il ena me所指的文件中,覆盖原来的文件内容。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#d ef ine N 5t yped ef st ruc t st ud ent l ong sno;c ha r na me 10;f l oa t sc ore3;STU;void f un(c ha r*f il ena me)FILE*f p;int i,j;STU sN,t;/*Sund*/f p=f d pen(f il ena me,_1_);f rea d(s,sizeof(STU),N,m);f c l ose(f p);f or(i=0;iN-l;i+)f or(j=i+l;jN;j4-+)/*Sund*/if(si.sno _2_ sj.sno)t=si;si=sj;sj=t;f p=f open(f il ena me,wb);/*Sund*/_3_(s,sizeof(STU),N,f p);/*二进制输出*/f c l ose(Q);ma in()STU t N=10005,Zha ng Sa n,95,80,88,10003,LiSi,85,70,78,10002,Ca oKa i,75,60,88,10004,Fa ng Fa ng,90,82,87,10001,Ma Cha o,91,92,77,ssN;int i,j;FILE*f p;f p=f open(st ud ent.d a t,wb);f writ e(t,sizeof(STU),5,f p);f c l ose(Q);print f(nnThe orig ina l d a t a:nn);f or(j=0;jN;j+)print f(nNo:%l d Na me:%-8s Sc ores:,t j.sno,t j.na me);f or(i=0;i3;i+)print f(%6.2f,t j.sc orei);print f(n);f un(st ud ent.d a t);print f(nnThe d a t a a f t er sort ing:nn);f p=f d pen(st ud ent.d a t,rb);f rea d(ss,sizeof(STU),5,f p);f c l ose(f p);f orG=0;jN;j+)print f(nNo:%l d Na me:%-8s Sc ores:,ssj.sno,ssj.na me);f or(i=0;i。第三处:把已排序的结构数据,重新写入文件,所以应填:f writ eo*给定程序MODIl.C中函数f im的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。注意:字符串的长度最长允许为79。请改正函数f im中指定部位的错误,使它能得出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#inc l ud e void f un(c ha r s,int n)(c ha r a 80,*p;int i;/*Cund*/S=p;f or(i=0;in;i+)a i-*;d oa i=*p;i+;)/*f bund*/whil e(*p+)a i=0;st rc py(s,a);)ma in()int n;c ha r s80;print f(nEnt er a st ring:);g et s(s);print f(nThe st ring%sn,s);print f(nEnt er n(number of*):);sc a nf(%d,&n);f un(s,n);print f(nThe st ring a f t er insert:%s n,s);)解题思路:第一处:指针p应指向s,所以应改为:p=s;o第二处:死循环,当d o whil e循环执行一次,临时变量P应该指向字符串的下一位置,所以 应改为:whil e(*p+);o*请编写函数f im,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的a g e数组中;要求函数把0至9岁年龄段的人数放在d 0 中,把10至19岁年龄段的人数放在d l 中,把20至29岁年龄段的人数放在d中,其余依此类推,把100岁(含100)以上年龄的人数都放在d 10中。结果在主函数 中输出。注意:部分源程序在文件PROG1.C中。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f im的花括号中填入 你编写的若干语句。给定源程序:#inc l ud e#d ef ine N 50#d ef ine M 11void f un(int*a,int*b)d oubl e md()st a t ic t=29,c=217,m=1024,r=0;r=(r*t+c)%m;ret um(d oubl e)r/m);ma in()int a g eN,i,d M;f d r(i=O;iN;i+)a g ei=(int)(115*md();print f(The orig ina l d a t a:n);f d r(i=0;iN;i+)print f(i+l)%10=0?%4d n:%4d,a g ei);print f(nn);f un(a g e,d);f d r(i=O;i 10;i+)print f(%4d%4d:%4d n,i*10,i*10+9,d i);print f(Over 100:%4d n,d 10);NONO(d);)解题思路:本题是统计各年龄段的人数。1.初始化各年龄段人数为0。2.使用f d r循环以及求出各年龄的十位数字作为存放人数的地址,如果大于值大于10,则 存入d 10中(大于110岁的人)。参考答案:void f un(int*a,int*b)(int i,j;f br(i=0;i M;i+)bi=0;f br(i=0;i 10)bM-1+;el se;d oubl e md()st a t ic 片29,c=217,m=1024,0;r=(r*t+c)%m;ret um(d oubl e)r/m);第05套:给定程序中,函数firn的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数a t oi和a t of将 字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#inc l ud e void f un(c ha r*s,int a,d oubl e f)/*Cund*/_1f p;c ha r st r100,st rl 100,st r2100;int a l;d oubl e f l;f p=f open(f il el.t x t,w);f print f(f p,%s%d%f n,s,a,f);/*Cund*/2f p=f open(f il el.t x t,r);/*Simd*/f sc a nf(3_,%s%s%s,st r,st rl,st r2);f c l ose(Q);a l=a t oi(st rl);f l=a t of(st r2);print f(nThe resul t:nn%s%d%f n,st r,a l,f l);ma in()c ha r a 10-Hel l o!;int b=12345;d oubl e c=98.76;f un(a,b,c);)解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并转换成相应的整数、浮 点数显示在屏幕上。第一处:定义文本文件类型变量,所以应填:FILE*O第二处:关闭刚写入的文件,所以应填:f c l ose(f p)o第三处:从文件中读出数据,所以应填:f po*给定程序MODILC中函数f im的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m 10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数f im中指定部位的错误,使它能得出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e#inc l ud e#inc l ud e#d ef ine N 10t yped ef st ruc t ss c ha r num10;int s;STU;STU*f on(STU a,int m)STU bN,*t;int i,j,k;/*Cund*/片(STU*)c a l l oc(sizeof(STU),m)f or(i=0;iN;i+)bi=a i;f d r(k=0;km;k+)f br(i=j=O;i b|j.s)j=i;t(k尸b(j);bj.s=O;)ret urn t;)out resul t(STU a,FILE*pf)int i;f d r(i=O;i10)print f(nGive t he number of t he st ud ent s who ha ve bet t er sc ore:);sc a nf(%d,&m);)pOrd er=f un(a,m);print s*THE RESULT*n);print f(The t op An);f d r(i=O;im;i+)print f(%s%d n,pOrd eri.num,pOrd eri.s);f ree(pOrd er);)解题思路:第一处:语句最后缺少分号。第二处:应该使用方括号,而不是圆括号。像此类,使用编译,即可发现。*请编写函数f im,函数的功能是:删去一维数组中所有相同的数,使之只剩一 个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2223 445 666677899 10 10 10。删除后,数组中的内容应该是:2345 6789 10o注意:部分源程序在文件PROG1.C中。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f im的花括号中填入 你编写的若干语句。给定源程序:#inc l ud e#d ef ine N 80int f un(int a,int n)ma in()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;print f(The orig ina l d a t a:n);f d r(i=O;in;i+)print f(%3d,a i);n=f un(a,n);print f(nnThe d a t a a f t er d el et ed:n);f or(i=0;in;i+)print f(%3d,a i);print f(nn);NONO();)解题思路:本题是删除已排序过数组中的相同数。1.取出数组中的第1个数存放在临时变量k中,再利用f or循环来依次判断所有的数。2.如果取出的数和k相比,如果不相同,则仍存放在原数组中,其中存放的位置由j来控制,接着把这个数重新存入k。如果相同,则取下一数。参考答案:int f un(int a,int n)int i,j=1,k=a 0;f d r(i=1;i n;i+)if(k!=a i)a jH=a i;k=a i;a U=O;ret urn j;第06套:给定程序中,函数f im的功能是根据形参i的值返回某个函数的值。当调用正 确时,程序输出:x l=5.000000,x 2=3.000000,x l*x l+x l*x 2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e d oubl e f l(d oubl e x)ret urn x*x;d oubl e f 2(d oubl e x,d oubl e y)ret urn x*y;/*Cund*/_1_ f un(int i,d oubl e x,d oubl e y)if(i=D/*Cund*/ret urn _2_(x);el se/*Simd*/ret urn _3_(x,y);ma in()d oubl e x l=5,x 2=3,r;r=f iin(l,x l,x 2);r+=f on(2,x l,x 2);print f(nx l=%f;x 2=%x l*x l+x l*x 2=%f nn,x l,x 2,r);解题思路:本题是根据给定的公式来计算函数的值。第一处:程序中使用双精度d oubl e类型进行计算,所以函数的返回值类型也为d oubl e,所 以应填:d oubl e o第二处:当i等于1时,则返回f l函数的值,所以应填:f l o第三处:如果i不等于1,则返回f 2函数的值,所以应填:f 2o*给定程序MODILC中函数f im的功能是:比较两个字符串,将长的那个字符串 的首地址作为函数值返回。请改正函数f im中指定部位的错误,使它能得出正确的结果。注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!给定源程序:#inc l ud e c ha r f iin(c ha r*s,c ha r*t)int sl=O,t l=O;c ha r*ss,*t t;ss=s;t t=t;whil e(*ss)sl+;/*Cund*/(*ss)+;)whil e(*t t)t l+;(*t t)+;)if(t l sl)ret urn t;el se ret urn s;)ma in()c ha r a 80,b80,*p,*q;int i;print f(nEnt er a st ring:);g et s(a);print f(nEnt er a st ring a g a in:);g et s(b);print f(nThe l ong er is:nn%sn,f un(a,b);解题思路:第一处:试题要求返回字符串的首地址,所以应改为:c ha r*f un(c ha r*s,c ha r*t)第二处:取字符串指针ss的下一个位置,所以应改为:SS+;。第三处:取字符串指针t t的下一个位置,所以应改为:t t+;。*请编写函数f im,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串 print f(nnEnt erm:);sc a nf(%d,&m);print f(Theorig ina lst ring:n);put s(a);intm;c ha ra N=ABCDEFGHIJK;ma in()(voidf un(c ha r*w,intm)/*可调用f iinl函数左移字符*/)wst rl en(w)-l=t;wi=wi+l;f or(i=O;ist rl en(w)-1;i+)t=w0;inti;c ha rt;(voidf unl(c ha r*w)/*本函数的功能是将字符串中字符循环左移一个位置*/#d ef ineN80#inc l ud e#inc l ud e给定源程序:你编写的若干语句。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f im的花括号中填入注意:部分源程序在文件PR0G1.C中。中的内容应该是:DEFGHIJKABCo/*宏为世纪教育 */f un(a,m);print f(nThe st ring a f t er moving:n);put s(a);print f(nn);NONO();)给定源程序:不得增行或删行,也不得更改程序的结构!注意:源程序存放在考生文件夹下的BLANK1.C中。果。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结数f un的功能是输出这位学生的信息。程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函第07套:f d r(i=0;im;i+)f unl(w);int i;(voidf un(c ha r*w,intm)/*可调用f iml函数左移字符*/)wst rl en(w)-l=t;wi=wi+l;f or(i=O;ist rl en(w)-1;i+)t=w0;inti;c ha rt;(voidf unl(c ha r*w)/*本函数的功能是将字符串中字符循环左移一个位置*/*宏为世纪教育 */参考答案:2.利用循环f d r语句来操作多少个字符(m)需要循环左移。置的字符串。1.由于函数f iml是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位本题是考察字符串的操作。解题思路:给定源程序:注意:不要改动ma in函数,不得增行或删行,也不得更改程序的结构!请改正程序中的错误,使它能得出正确的结果。把最大数和a 0中的数对调、次最大数和a l 中的数对调。给定程序MODIl.C中函数f un的功能是:求出数组中最大数和次最大数,并*第三处:函数的调用,所以应填:St d o第二处:利用循环分别输出学生的成绩数据,所以应填:t t.sc orei0第一处:t t变量在函数体f im已经使用,所以应填:t t o本题是利用结构体变量存储了一名学生的信息。解题思路:show(_3_);/*Cund*/print f(nAst ud entd a t a:n);STUst d=l,Zha ng hua;M,1961,10,8,76.5,78.0,82.0;ma in()print f(n);print f(%5.1f,_2_);/*Sund*/f or(i=0;i3;i+)t t.birt hd a y.yea r,t t.birt hd a y.mont h,t t.birt hd a y.d a y);print f(n%d%s%c%d-%d-%d,t t.num,t t.na me,t t.sex,int i;voidshow(STU_1_)/*Sund*/STU;f l oa tsc ore3;st ruc tintyea r,mont h,d a y;birt hd a y;c ha rsex;c ha rna me9;intnum;t yped efst ruc t#inc l ud e/*宏为世纪教育 */unsig nedf un(unsig nedw)#inc l ud e给定源程序:你编写的若干语句。请勿改动主函数ma in和其它函数中的任何内容,仅在函数f im的花括号中填- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 题库 南开 100
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文