![二级C语言上机题库及笔试复习资料_第1页](http://file4.renrendoc.com/view/2e26310995e09c8adc8f7bfad465090a/2e26310995e09c8adc8f7bfad465090a1.gif)
![二级C语言上机题库及笔试复习资料_第2页](http://file4.renrendoc.com/view/2e26310995e09c8adc8f7bfad465090a/2e26310995e09c8adc8f7bfad465090a2.gif)
![二级C语言上机题库及笔试复习资料_第3页](http://file4.renrendoc.com/view/2e26310995e09c8adc8f7bfad465090a/2e26310995e09c8adc8f7bfad465090a3.gif)
![二级C语言上机题库及笔试复习资料_第4页](http://file4.renrendoc.com/view/2e26310995e09c8adc8f7bfad465090a/2e26310995e09c8adc8f7bfad465090a4.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
<stdio.h><stdio.h><string.h><ctype.h>2011年3月份全国计算机等级考试二级C语言上机题库二级C语言上机考试复习资料,共有50套题目一、程序填空题1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000, x2=3.000000,xl*xl+xl*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>doublefl(doublex){returnx*x;}doublef2(doublex,doubley){returnx*y;}/**********必und**********/_1_fiin(inti,doublex,doubley){if(i=l)return_2_(x);else/**********8und**********/return_3_(x,y);main(){doublexl=5,x2=3,r;r=fun(I,x1,x2);r+=fun(2,xl,x2);printfi(H\nx1=%f,x2=%f,xl*xl+xl*x2=%f\n\nH,x1,x2,r);2、给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:letter'a':3timesletter's':3times请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!//include#include#includevoidfun(char*s){intk[26]={0},n,i,max=0;charch;while(*s){if(isalpha(*s)){ch=tolower(_1_);n=ch-*a';/**********Cund**********/k[n]+=_2_;S-H-;/**********砧und**********/if{max<k[n])max=_3_;printfl(n\nAftercount:\nM);fdr(i=O;i<26;i++)if(k[i]=max)printR”\nletterV%cV:%dtimes\n”,i+'a',k[i]);}main(){chars[81];printf("\nEnterastring:\n\nM);gets(s);fiin(s);|3、给定程序中,函数firn的功能是:将NXN矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵123456789交换后为:321456987请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN4voidfun(int 1 ,intn){inti,s;for( 2_;i++){s=t[i][i];t[i][i]=t[i][n-i-l];t[i][n-l-i]=_3—;main(){ intt[][N]={21,12,l3,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;printf("\nTheoriginalarray:\n");for(i=0;i<N;i++){for(j=O;j<N;j++)printf("%d",t[i][j]);printf("\n");}fun(t,N);printff\nTheresultis:\n");for(i=0;i<N;i++){forG=O;j<N;j++)printf("%dprintf("\n");4、给定程序中,函数fun的功能是:找出100至x(x<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>intfiin(intx){intn,si,s2,s3,t;n=1_;t=100;/********************/while(t<=_2_){sl=t%10;s2=(t/10)%10;s3=t/100;if(sl+s2+s3=15){printfi(n%dM,t);n++;_3_;}returnn;main(){intx=-l;while(x>999||x<0){printffPleaseinput(0<x<=999): ");scanf("%d",&x);}printff\nTheresultis:%d\n",fiin(x));}5、函数fim的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[l]元素中:再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。注意:规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结
构!#include<stdio.h>#defineN构!#include<stdio.h>{inti,j,max,min,px,pn,t;for(i=0;i<n-l;i+=2)TOC\o"1-5"\h\zmax=min= 1 ;px=pn=i;fbr(j=i+l;j<n;j++){if(max< 2_){max=a[j];px=j;}/**********3und**********/if(min> 3 ){min=a[j];pn=j;})if(pn!=i){t=a[i];a[i]=min;a[pn]=t;if(px=i)px=pn;}if(px!=i+1){t=a[i+l];a[i+l]=max;a[px]=t;}}}main(){intb[N]={9,l,4,2,3,6,5,8,7},i;printf(H\nTheoriginaldata:\n");for(i=0;i<N;i++)printf(H%4d",b[i]);printf(M\nM);fun(b,N);printf(M\nThedataaftermoving:\nM);fbr(i=0;i<N;i++)printf(H%4d",b[i]);6、给定程序中,函数ftin的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlswo请在程序的卜划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfun(char*s,char*p){intij,n,x,t;n=0;fbr(i=O;s[i]!-\0*;i++)n-H-;fbr(i=l;i<n-2;i=i+2){—1—;fbr(j= 2 +2;j<n;j=j+2)if(s[t]>s|j])t=j;ifi(t!=i){x=s[i];s[i]=s[t];s[t]=x;}}for(i=1j=0;i<n;i=i+2,j++)p[j]=s[i];/**********砧und**********/PU]=一3一;main(){chars[80]="baawrskjghzlicda",p[50];printf("\nTheoriginalstringis:%s\n",s);fim(s,p);printf("\nTheresultis:%s\n",p);}7、给定程序中,函数firn的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>unsignedlongfun(unsignedlongn){unsignedlongx=0,s,i;intt;s=n;fbr(p=l;p<=_1_;p++)
fbr(i=O;i<M;i++)
{temp=a[i][0];while(_2_){t=s%10;if(t%2=0){x=x+t*i;i=_3_;)s=s/10;)returnx;}main(){unsignedlongn=-l;while(n>99999999||n<0){printf("Please input(0<n<100000000): ");scanff%ld”,&n);}printff\nTheresultis:%ld\nH,fun(n));)8、给定程序中,函数ftm的功能是:将a所指3X5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:TOC\o"1-5"\h\z12 3 4 51 2 3 4 512 3 4 5若k为2,程序执行结果为3 4 5 123 4 5 1 23 4 5 12请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#define M 3#define N 5voidfun(int(*a)[N],intk){inti,j,p,temp;/**********f^ound**********/fbr(j=O;j<_2_;j++)a[i][j]=a[i][j+l];a[i][N-l]=_3_;)main(){ intx[M][N]={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}},ij;printff'Thearraybeforemoving:\n\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("\n");}fun(x,2);printff'Thearrayaftermoving:\n\n");fbr(i=O;i<M;i++){for(j=0;j<N;j-H-)printf("%3d",x[i][j]);printf("\n");9、给定程序中,函数fun的功能是:判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。"回文"是正读和反读都一样的字符串(不区分大小写字母)。21例如,LEVEL和Level是"回文",WLEVLEV不是"回文"。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#include<ctype.h>intfun(char*s){char*lp,*rp;/********** **********/q)=s4-strlen(s)-l;while((toupper(*lp)==toupper(*rp))&&(lp<rp)){lp++;rp_2_;}if(lp<rp)_3_;elsereturn1;main(){chars[81];printff'Enterastring:");scanf("%s",s);if(fun(s))printf("\n\"%s\"isaPalindrome.\n\n",s);elseprintf("\n\"%s\"isn'taPalindrome.\n\n",s);)10、给定程序中,函数firn的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。例如,形参s所指的字符串为:abcde垣h,n的值为5,程序执行后t所指字符数组中的字符串应为:defgh«请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#defineN80voidfun(char*s,intn,char*t){intlen,ij=0;len=strlen(s);/**********f^ound**********/if(n>=len)strcpy(_1_);else{/**********必und**********/fbr(i=len-n;i<=len-l;i++)t[j-H-]=_2_;/**********必und**********/tU]=_3_;main(){chars[N],t[N];intn;printf(MEnterastring:H);gets(s);print1"Entern:M);scanf(H%dM,&n);ftin(s,n,t);printf("Thestringt:");puts(t);|11,给定程序中,函数firn的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成•个新的数,并作为函数值返回。例如,输入一个整数:27638496,函数返回值为:64862o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>unsignedlongfun(unsignedlongn){unsignedlongx=0;intt;while(n){t=n%10;x=_2_+t;n=3_;)returnx;}main(){unsignedlongn=-l;while(n>99999999||n<0){printf(HPleaseinput(0<n<100000000): ");scanf(,,%ldM,&n);}printfi("\nTheresultis:%ld\nH,fun(n));|12、给定程序中,函数fun的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为TOC\o"1-5"\h\z1 0 06 5 010 14 9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includc<stdio.h>#defineN4voidfun(int(*t) 1 ){inti,j;for(i=l;i<N;i++){for(j=O;j<i;j-H-)3 =0:main()intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;printf(H\nTheoriginalarray:\nH);fbr(i=O;i<N;i++){for(j=O;j<N;j++)printfC%2dn,t[i][j]);}fiin(t);printfi["\nTheresultis:\n");fbr(i=O;i<N;i-H-){for(j=O;j<N;j-H-)printff'%2d",t[i]|j]);printf("\n");13、给定程序中,函数ftin的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7»执行结果为:defadhkjsdf3537=请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfun(char*s){inti,j=0,k=0;chartl[80],t2[80];fbr(i=O;s[i]!-\0*;i++)ifi[s[i]>='0,&&s[i]<=,9,)t2U]=s[i];_l_;}elsetl[k++]=s[i];t2[j]=0;tl[k]=O;/**********Cund**********/fbr(i=O;i<k;i-H-) 2 ;/**********砧und**********/fbr(i=O;i<_3—;i-H-)s[k+i]=t2[i];}main(){chars[80]=Mdef35adh3kjsdf7H;printfi("\nTheoriginalstringis:%s\nM,s);fun(s);printf(,,\nTheresultis:%s\n",s);}14、给定程序中,函数fun的功能是计算下式例如:若形参e的值为le-3,函数的返回值为0.551690»请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>doublefiin(doublee){inti,k;doubles,t,x;s=0;k=l;i=2;/**********3und**********/x=_1_/4;while(x_while(x_2_e){s=s+k*x;k=k*(-1);t=2*i;q->data=t;}q=q->next;p=p->next;x=3_/(t*t);i++;}returns;}main(){doublee=le-3;printfi(M\nTheresultis:%f\n",fiin(e));}15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2,4、6、8、10o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<stdlib.h>#defineN6NODE*creatlist(inta[]){NODE*h,*p,*q;inti;h=(NODE*)malloc(sizeof(NODE));h->next=NULL;fbr(i=O;i<N;i-H-){q=(NODE*)malloc(sizeof(NODE));q->data=a[i];q->next=NULL;if(h->next==NULL)h->next=p=q;else{p->next=q;p=q;}returnh;}voidoutlist(NODE*h){NODE*p;p=h->next;if(p=NULL)printffThelistisNULL!\nM);else{printfi(n\nHead");do{printff'・>%d",p->data);p=p->next;}while(p!=NULL);printiXH->End\nM);typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p,*q;intt;/********************/while(p){/**********必und**********/q=_2_;while(q){/********************/if(p->data_3_q->data){t=p->data;p->data=q->data;main(){NODE*head;inta[N]={0,10,4,2,8,6};head=creatlist(a);printff\nTheoriginallist:\nM);outlist(head);fiin(head);printf(,'\nThelistaftersorting:\n");outlist(head);}16、给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。例如,形参s所指的字符串为:abs5defl26jkm8,程序执行后的输出结果为:22。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#include<ctype.h>intfun(char*s){intsum=O;while(*s){/**********3und**********/ifi(isdigit(*s))sum+=*s-_1_;/**********必und**********/_2_;}return_3_;)main(){chars[81];intn;printf(M\nEnterastring:\n\nM);gets(s);n=fun(s);printf(H\nTheresultis:%d\n\n",n);17、函数fon的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0],a[l]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN9intfun(inta[],intn){intij;j=0;for(i=0;i<n;i-H-)if(a[i]%2==_1_)a[j]=a[i];_2_;/**********3und**********/return 3 ;}main(){intb[N]={9,l,4,2,3,6,5,8,7),i,n;printfif'XnTheoriginaldata:\n");for(i=0;i<N;i++)printfC%4d”,b[i]);printff'n”);n=fun(b,N);printfif'XnThenumberofodd:%d\n",n);printfif'XnTheoddnumber:\nn);for(i=0;i<n;i++)printff%4d",b[i]);pr血}18、给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:9.612558o请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>doublefiin(intn){inti;doubles,t;/********************/s=1/********************/fbr(i=l;i<=_2_;i-H-){t=2.0*i;/**********砧3记**********/s=s+(2.0*i・1)*(2.0*i+1)/_3_;returns;main(){intn="l;while(n<0){printf(MPleaseinput(n>0):");scanff%d”,&n);}printfi(M\nTheresultis:%f\nM,fun(n));19、给定程序中,函数fun的功能是:将a所指4X3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:TOC\o"1-5"\h\z1 2 34 5 67 8 910 11 12若k为2,程序执行结果为:7 8 94 5 61 2 310 11 12请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#define N 3#define M 4/**********fk)und**********/voidfun(int(*a)[N],int_1_){inti,temp;/********************/fbr(i=0;i<_2_;i-H-){temp=a[0][i];/**********Cund**********/a[0][i]=_3_;a[k][i]=temp;}}main(){ intx[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},ij;printf(MThearraybeforemoving:\n\nn);fbr(i=O;i<M;i-H-){fbr(j=O;j<N;j++)printf(M%3dM,x[i]|j]);printf(M\n\nM);fun(x,2);printf(,,Thearrayaftermoving:\n\nn);fbr(i=O;i<M;i++){fbr(j=O;j<N;j++)printf(M%3dn,x[i][j]);printf(M\n\nM);20、函数fiin的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN9voidfun(inta[],intn){inti,t,p;/********************/p=(n%2=0)?n/2:n/2+_1_;for(i=0;i<n/2;i-H-)(t=a[i];/**********f^ound**********/a[i]=a[p+-2_];/**********found**********/一3一=t;main(){intb[N]={l,2,3,4,5,6,7,8,9},i;printf("\nTheoriginaldata:\n");for(i=0;i<N;i++)printff%4d”,b[i]);printf(M\nM);fiin(b,N);printfif'XnThedataaftermoving:\nH);for(i=0;i<N;i++)printf("%4d",b[i]);printfi["\n");)21、给定程序中,函数fiin的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfiin(unsignedlong*n){unsignedlongx=0,i;inti=l;while(*n){t=*n%_l_;ifi[t%2!=_2_){x=x+t*i;i=i*10;}*n=*n/10;/**********found**********/*n=_3_;}main(){unsignedlongn="l;while(n>99999999||n<0){printf(MPleaseinput(0<n<l00000000): ");scanf(H%ldM,&n);}fun(&n);printf(M\nTheresultis:%ld\nM,n);}22、给定程序中,函数fun的功能是:利用指针数组对形参SS所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。SS所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#define N 5#define M 8voidfun(char(*ss)[M]){char*ps[N],*tp;intij,k;fbr(i=O;i<N;i++)ps[i]=ss[i];for(i=0;i<N-l;i++){k=_1_;fbr(j=i+l;j<N;j++)/**********^Qund**********/if(strlen(ps[k])<strlen(_2_))k=j;/**********Cund**********/tp=ps[i];ps[i]=ps[k];ps[k]=_3_;prints"\nThcstringaftersortingbylength:\n\nH);fbr(i=O;i<N;i++)puts(ps[i]);}main(){ charch[N][M]={”red”,”green”Jblue”,”yelk)w”Jblack”};inti;printf("\nTheoriginalstring\n\nM);fbr(i=O;i<N;i-H-)puts(ch[i]);printf(H\nw);fiin(ch);)23、给定程序中,函数fim的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:ThisisaClanguageprogram.,函数的返回值为6。请在程序的下划线处填入正确的内容并把F划线删除,使程序得出iE确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>intfun(char*s){intn=0,flag=O;
while(*s!=、O'){iR*s!=''&&flag==O){/********************/_1_;flag=l;}if(*s—*)flag=_2_;returnn;}main(){charstr[81];intn;printfi(H\nEnteralinetext:\nM);gets(str);n=fiin(str);printfi(H\nThcrearc%dwordsinthistext.\n\nH,n);}24、函数firn的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[l],a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4,2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN9intfiin(inta[],intn){inti,j;j=0;for(i=0;i<n;i-H-)if(_1_=0){/********************/{intb[N]={9,l,4,2,3,6,5,8,7),i,n;printf("\nTheoriginaldata:\n");fbr(i=0;i<N;i++)printf("%4d”,b[i]);printRAn");n=fun(b,N);printf("\nThenumberofeven:%d\nM,n);printfifXnTheeven:\nM);fbr(i=0;i<n;i++)printf(,,%4d",b[i]);printf(H\nM);25、给定程序中,函数fbn的功能是:将NXN矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵123456789计算结果为312645978请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN4voidfun(int(*t)[N]){intij,x;/**********found**********/fbr(i=O;i< 1 ;i-H-)/**********Cund**********/x=t[i][_2_J;fbr(j=N-l;j>=l;j-)t[i]U]=t[i]U-l];2—=a[i];j++;main()return 32—=a[i];j++;main()return 3}main(){ intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10),ij;printf(HTheoriginalarray:\nH);for(i=0;i<N;i-H-){fbr(j=O;j<N;j++)printff%2dM,t[i][j]);prints%”);|fun(t);printfC'XnTheresultis:\n");fbr(i=O;i<N;i++){for(j=0;j<N;j++)printf("%2d",t[i皿);printf("\n");26、函数firn的功能是:逆置数组元素中的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9,8,7,6,5,4、3、2、1。形参n给出数组中数据的个数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfun(inta[],intn){inti,t;/********************/for(i=0;i<_1_;i-H-)t=a[i];a[i]=a[n-l-2 ];/********************/3 =t;main(){intb[9]={123,4,5,6,7,8,9},i;printf(H\nTheoriginaldata:\nH);for(i=0;i<9;i++)printff%4d”,b[i]);printf(M\nM);9);printfi[M\nThedataafterinvert:\nM);fbr(i=0;i<9;i-H-)printff%4d”,b[i]);printf(M\nH);}27、给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在_2一处使f指向函数fl,在_3_处使f指向函数f2。当调用正确时,程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>doublefl(doublex){returnx*x;}doublef2(doublex,doubley){returnx*y;}doublefiin(doublea,doubleb)doublerl,r2;/********************/f=_2_; /*pointfountionfl*/rl=Ra);f=_3_; /*pointfountionf2*/r2=(*f)(a,b);returnrl+r2;|main(){doublexl=5,x2=3,r;r=fun(xl,x2);printf("\nxl=%f, x2=%£x1*x1+x1*x2=%f\nM,x1,x2,r);}28、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并揩中间数作为函数值返回。
例如,有9个正整数:1572387582145按升序排列时的中间数为:8处理后主函数中输出的数列为:8882387882145请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK).C中。不得增行或删行,也不得更改程序的结<stdio.h>N9x[])<stdio.h>N9x[])fbr(i=O;i<N;i++)b[i]=x[i];fbr(i=0;i<=N/2;i++){k=i;for(j=i+lJ<NJ++)if(b[k]>b[j])k=j;if(k!=i)t=b[i];b[i]=_1 ;b[k]=t;/********************/mid=b[_2_];fbr(i=O;i<N;i-H-)/**********向und**********/ifi(x[i] 3 mid)x[i]=mid;returnmid;)main(){inti,x[N]={1,5,7,23,87,5,8,21,45);fbr(i=O;i<N;i++)printf(M%dM,x[i]);printf(M\nThemiddatais:%d\n",fun(x));fdr(i=O;i<N;i++)printf(M%dM,x[i]);printf(H\nH);)29、给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。例如,s所指字符串为:baacda,c中的字符为:a,执行后s所指字符串为:baaaacdaao请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>构!#include<stdio.h>fbr(i=O;s[i]!= 1 ;i++)ifi[s[i]=c){n=2 ;while(s[i+1+n]!='0')n++;fbr(j=i+n+l;j>i;j-)s[j+l]=s|j];s[j+l]=_3_;i=i+l;})main(){chars[80]=,,baacda",c;printf("\nThestring:%s\nM,s);printflf'Xnlnputacharacter:");scanff'%c",&c);fun(s,c);printf("\nTheresultis:%s\n",s);30、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fiin()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>typedefstructlist{chardata;structlist*next;}Q;voidfiin(Q*pa,Q*pb,Q*pc){Q*p;pa->next= 1 ;pb->next=pc;p=pa;while(p)/**********佑und**********/printR”%c”,2);/**********向und**********/P=3;printff\n”);}main(){Qa,b,c;a.data-E1;b.data-F1;c.data-G1;c.next=NULL;fun(&a,&b,&c);}31、给定程序中,函数fun的功能是:计算NXN矩阵的主褫角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:1 2 34 5 67 8 9fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN4fun(intt[][N],intn){inti,sum;fbr(i=O;i<n;i-H-)sum+=2 fbr(i=O;i<n;i++)sum+=t[i][n-i- 3 ];returnsum;)main(){ intt[][N]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10}.ij;printfC^nTheoriginaldata:\n");fbr(i=O;i<N;i-H-){fbr(j=O;j<N;j++)printfC%4d”,t[i][jD;printfi[,,\nH);}printfif'Theresultis:%d",fun(t,N));}32、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfun(char*s,inta,doublef)/**********Cun(j**********/charch;fp=fbpen(Mfilel.txtM,MwM);fprintfi(fp,M%s%d%f\nM,s,a,f);fclose(fp);fp=fbpen("filel.txtM,V);printfi("\nTheresult:\n\nM);ch=fgetc(fp);/********************/while(!feof(_2_)){/**********f^)und**********/putchar(_3_);ch=fgetc(fp);}putchar(*\n');fclose(fp);)main(){chara[10]=MHello!";intb=12345;doublec=98.76;fun(a,b,c);)33、给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。例如,形参s所指的字符串为:Abc@lx56*.程序执行后t所指字符数组中的字符串应为:A@156*O请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>intfiin(char*s,char*t){intn=0;while(*s){if(*s<97){/**********f^ound**********/所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为:asdl23龟h543df,处理后新字符串为:asdfghdf123543。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<stdlib.h>#include<string.h>char*fun(char*s){inti,j,k,n;char*p,*t;n=strlen(s)+l;t=(char*)malloc(n*sizeofi[char));p=(char*)malloc(n*sizeofi(char));j=0;k=0;fbr(i=O;i<n;i++){ifi(((s[i]>=,a,)&&(s[i]<=,z'))||((s[i]>=,A,)&&(s[i]<=,Z?)){/**********^Q»JJJ^**********/else{PM=s[i];k++;}*(t+n)=_1_;n-H-;}/**********found**********/_2_;*(t+n)=0;/**********f^ound**********/return_3_;main(){chars[81],t[81];intn;printf(M\nEnterastring:\nM);gets(s);n=fun(s,t);printf(M\nThereare%dletterwhichASCIIcodeislessthan97:%s\nH,n,t);}34、给定程序中,函数fun的功能是:将形参sfbr(i=O;i<_2_;i++)t[j+i]=p[i];/**********f^ound**********/tU+k]=_3_;returnt;}main(){chars[80];printf("Pleaseinput:");scanff%s”,s);printfi["\nTheresultis:%s\nn,fun(s));)35、给定程序中,函数fun的功能是:有NXN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最8 9计算结果为4 15 26 3请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN4voidfun(int(*t)[N]){intj,r[N];fbr(j=O;j<N;j++)r[j]=t[O][j];fbr(j=O;j<N;j-H-)/**********必und**********/t[O][N-j-l]=tU][_1_];fbr(j=O;j<N;j++)t[j][O]=t[N-l]U];/**********①und**********/fbr(j=N-l;j>=0;_2_)t[N-l][N-lJ]=t[j][N-l];fbr(j=N-l;j>=O;j-)/**********向und**********/tU][N-l]=r[_3_];}main(){ intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;printfi[H\nTheoriginalarray:\nH);fdr(i=O;i<N;i-H-){forG=O;j<N;j++)printfT%2d",t[i][j]);printf("\n");}fun(t);printff\nTheresultis:\n");for(i=0;i<N;i++){ford=O;j<N;j++)print*"%2d",t[i皿);矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵1 2 34 5 67 8 9程序执行结果为0 0 10 0 40 0 7请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN4voidfun(int(*t)[N],intm){inti,j;for(i=0;i<N;_1_){fbr(j=N-l-m;j>=O;j-)/**********Cund**********/t[i]U+_2_]=t[i]U];/**********砧und**********/fbr(j=O;j<_3_;j++)t[i]U]=O;|main(){ intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},ij,m;printfif'XnTheoriginalarray:\nM);fbr(i=O;i<N;i-H-){for(j=O;j<N;j++)printf(M%2dM,t[i][j]);printfif—”);printf("Inputm(m<=%d):”,N);scanff%d”,&m);后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵:1 2 34 5 6 36、给定程序中,函数fun的功能是:有NXNprintlfW")printlfW");fun(t,m);printf(M\nTheresultis:\nM);fbr(i=O;i<N;i-H-){for(j=O;j<N;j-H-)printf("%2d",t[i][j]);printf("\n");37、给定程序中,函数fim的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgfo请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>voidfun(char*s){inti,n,k;charc;n=0;for(j=O;s[i]!=W;i++)n++;/********************/ifi(n%2=0)k=n- 1elsek=n-2;c=2fbr(i=k-2;i>=l;i=i-2)s[i+2]=s[i];/********************/s[l]=_3_;main(){chars[80]-*abcdefghH;printf(M\nTheoriginalstringis:%s\nM,s);ftin(s);printf(n\nTheresultis:%s\n",s);38、给定程序中,函数fiin的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#define M 5#define N 20intfun(char(*ss)[N],int*n){inti,k=0,len=N;fbr(i=O;i< 1 ;i-H-){len=strlen(ss[i]);.i=0)*n=len;/**********Cund**********/if(len 2 *n){*n=len;k=i;/**********必川记**********/retum( 3 );}main(){ charss[M][N]={,,shanghaiM,MguangzhouH,,,beijingH,,,tianjing",“chongqing"};intn,k,i;printf("\nTheoriginalstringsare:\nM);fbr(i=O;i<M;i-H-)puts(ss[i]);k=fun(ss,&n);printf("\nThelengthofshorteststringis:%d\nH,n);printf(n\nTheshorteststringis:%s\n",ss[k]);|39、函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0,〜9,则O转换成9,T转换成8,2转换成7,……,夕转换成。:若是其它字符则保持不变;并将转换后的结果作为函数值返回。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的
BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includc<stdio.h>1 fun(charch)if(ch>=,0,&&_2_)return19-(ch- 3 );returnch;}main(){charc1,c2;printff'\nTheresult:\nM);cl=2;c2=fun(cl);printf("c1=%c c2=%c\nn,c1,c2);cl=8;c2=fiin(cl);printf(nc1=%c c2=%c\n”,c1,c2);cl-a*;c2=fun(cl);printfC'c1=%c c2=%c\nM,c1,c2);}40、给定程序中,函数fbn的功能是:找出100〜999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100〜999之间各位上数字之和为5的整数有:104、113、122、13k140、203、212、221、230、302、31k320、401、410、500o共有15个。当x值为27时,各位数字之和为27的整数是:999o只有1个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>while(t<=1_){sl=t%10;s2=(_2_)%10;s3=t/100;if(s1+s2+s3=3_){printff%d】);n++;}t++;)returnn;}main(){intx=-l;while(x<0){printf(HPleaseinput(x>0): ");scanff%d\&x);}printf("\nTheresultis:%d\nH,fun(x));}41、函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在中;再把a所指数组元素中的次大值放在a⑵中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8,7,贝U按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5,形参n中存放a所指数组中数据的个数。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#defineN9/********************/voidfun(int1 ,intn){intvoidfun(int1 ,intn)intfiin(intx){intn,si,s2,s3,t;n=0;t=100;/**********f^ound**********/for(i=0;i<n-l;i+= intfiin(intx){intn,si,s2,s3,t;n=0;t=100;/**********f^ound**********/for(i=0;i<n-l;i+= 2 ){max=min=a[i];px=pn=i;/**********必und**********/for(j=_3_;j<n;j++){if(max<a[j]){max=a[j];px=j;}if(min>a[j]){min=a[j];pn=j;}}if(px!=i){t=a[i];a[i]=max;a[px]=t;if(pn=i)pn=px;}if(pn!=i+1){t=a[i+l];a[i+l]=min;a[pn]=t;})main(){intb[N]={1,423,9,6,5,8,7},i;printfi["\nTheoriginaldata:\n");for(i=0;i<N;i++)printf("%4d",b[i]);printfi["\n");ftin(b,N);printff'\nThedataaftermoving:\n");for(i=0;i<N;i++)printf("%4d",b[i]);printf("\n");)42、给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10»请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<stdlib.h>#defineN6typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p,*q;intt;p=h;while(p){while(2){if(p->data>q->data){t=p->data;p->dataq->data=t;}q->data;q=q->next;q->data;}/********************/P=_3_;}NODE*creatlist(inta[]){NODE*h,*p,*q;inti;h=NULL;fbr(i=O;i<N;i++){q=(NODE*)malloc(sizeof(NODE));q->data=a[i];q->next=NULL;if(h=NULL)h=p=q;else{p->next=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《水文分析》课件
- 《心肺复苏术》课件
- 手术室麻醉患者护理方式及实施心得探析
- 紫色插画风肥胖日减肥健身锻炼健康教育主题
- 期末总结与新学期规划模板
- 探索生态系统奥秘
- 当代大学生职业定位与人生价值观调查研究
- 植树节环保行动模板
- 咨询业务半年报告模板
- 幼儿园实施家长学校的方法与成效
- 市场调查 第三版 课件全套 夏学文 单元1-8 市场调查认知 - 市场调查报告的撰写与评估
- 初中化学跨学科实践活动:海洋资源的综合利用与制盐课件 2024-2025学年九年级化学科粤版(2024)下册
- 内蒙自治区乌兰察布市集宁二中2025届高考语文全真模拟密押卷含解析
- 初中英语1600词背诵版+检测默写版
- 养老护理员安全培训
- 2024年云南省公务员录用考试《行测》试题及答案解析
- 2024年度-工程造价培训课件全新
- 新版人音版小学音乐一年级下册全册教案
- 中国急性缺血性卒中诊治指南(2023版)
- 高中学校工会工作制度
- 人教版八年级上册数学期末考试试卷含答案
评论
0/150
提交评论