版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2012全國計(jì)算機(jī)二級C語言上機(jī)考試全真題庫含金量保證高第一套1.程序填空給定程序中,函數(shù)fun的功能是:將形參n所指變量中,各位上為偶數(shù)的數(shù)去除,剩余的數(shù)按原來從高位到低位的順序組成一個新的數(shù),并通過形參指針n傳回所指變量。如輸入一個數(shù):27638496,新的數(shù)為729第一空:{t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改給定程序modi1.c中函數(shù)fun的功能是:計(jì)算n!。例如,給n輸入5,則輸出120.000000。doublefun(intn){doubleresult=1.0;/*****found******/if(n==0)return1.0;while(n>1&&n<170)/*****found******/result*=n--;returnresult;}3.程序設(shè)計(jì)請編寫一個函數(shù)fun,它的功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如,若輸入字符串“-1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值-1234。longfun(char*p){inti,len,t;longx=0;len=strlen(p);if(p[0]==’-‘){t=-1;len--;p++;}elset=1;while(*p)x=x*10-48+(*p++);returnx*t;}第二套號、姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是重寫形參filename所指的文件中最后一個學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來的數(shù)據(jù),其它學(xué)生的數(shù)據(jù)不變。第1處:fp=fopen(filename,”rb+”)第2處:fseek(fp,-1L*sizeof(STU),SEEK_END);第3處:fwrite(&n,sizeof(STU),1,fp);2.程序修改給定程序MODI1.C中的函數(shù)Creatlink的功能是創(chuàng)建帶頭結(jié)點(diǎn)的單向鏈表,并為各結(jié)點(diǎn)數(shù)據(jù)域賦0到m-1的值。請改正函數(shù)Creatlink中指定部位的錯誤,使它能得出正確的結(jié)果。NODE*Creatlink(intn,intm){NODE*h=NULL,*p,*s;inti;/*****found******/p=(NODE*)malloc(sizeof(NODE));h=p;p->next=null;for(i=1;i<=n;i++){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;}/*****found******/returnh;}3.程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個空格格開,一行的開始沒有空格。intfun(char*s){intk=1;while(*s){if(*s==’’)k++;s++;}returnk;}第四套1.程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學(xué)生數(shù)據(jù),并按照學(xué)號從小到大排序后,再用二進(jìn)制方式把排序后的學(xué)生數(shù)據(jù)輸出到filename所指的文件中,覆蓋原來的文件內(nèi)容。第1處fp=fopen(filename,"rb");第2處if(s[i].sno>s[j].sno)第3處fwrite(s,sizeof(STU),N,fp);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:在字符串的最前端加入n個*號,形成新串,差且覆蓋原串。注意:字符串的長度最長允許為79.voidfun(chars[],intn){chara[80],*p;inti;/*****found******/p=s;for(i=0;i<n;i++)a[i]=’*’;do{a[i]=*p;i++;}/*****found******/while(*p++)a[i]=0;strcpy(s,a);}3.程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:統(tǒng)計(jì)各年齡段的人數(shù),N個年齡能過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中:要求函數(shù)把0至9歲的年齡段的人數(shù)放在d[0]中,把10至19歲的年齡段的人數(shù)放在d[1]中,把20至29歲的年齡段的人數(shù)放在d[2]中,其余依次類推,把100歲(含100歲)以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸出。voidfun(int*a,int*b){inti,j;for(i=0;i<M;i++)b[i]=0;for(i=0;i<N;i++){j=a[i]/10;if(j>10)b[M-1]++;elseb[j]++;}}第五套1.程序填空給定程序中,函數(shù)fun的功能是將參數(shù)給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫到文件文件中,再用字符串方式從此文本文件中逐個讀入,并調(diào)用庫函數(shù)atoi和atof將字符串換成相應(yīng)的整數(shù)和浮點(diǎn)數(shù),然后將其顯示在屏幕上。第1處:FILE*fp;第2處:fclose(fp);第3處:fscanf(fp,”%s%s%s”,str,str1,str2);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:對N名學(xué)生的學(xué)生成績,按從高到低的順序找出前m(m<10)名學(xué)生來,將這些學(xué)生數(shù)據(jù)存放在一個動態(tài)分配的連續(xù)存儲區(qū)中,此存儲區(qū)的首地址作為函數(shù)值返回。STU*fun(STUa[],intm){STUb[N],*t;inti,j,k;/*****found******/t=(STU*)calloc(sizeof(STU),m);for(i=0;i<N;i++)b[i]=a[i];for(k=0;k<m;k++){for(i=j=0;i<N;i++)if(b[i].s>b[j].s)j=i;/*****found******/t[k]=b[j];b[j].s=0;}returnt;}3.程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是,刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按從小到大的順序排序,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。intfun(inta[],intn){inti,j=1,k=a[0];for(i=1;i<n;i++)if(k!=a[i]){a[j++]=a[i];k=a[i];}a[j]=0;returnj;}第六套1.程序填空給定程序中,函數(shù)fun的功能是根據(jù)形參i的值返回某個函數(shù)年值。當(dāng)調(diào)用正確時,程序輸出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000第一處:doublefun(inti,doublex,doubley)第二處:returnf1(x);第三處:returnf2(x,y);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:比較兩個字符串,將長的那個字符串的首地址作為函數(shù)值返回。#include<stdio.h>/*****found******/char*fun(char*s,char*t){intsl=0,tl=0;char*ss,*tt;ss=s;tt=t;while(*ss){sl++;/*****found******/ss++;}while(*tt){tl++;/*****found******/tt++;}if(tl>sl)returnt;elsereturns;}3.程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:移動字符串中的內(nèi)容,移動的規(guī)則如下:把第1到第m個字符,平均移到字符串的最后,把第m+1個到最后的;字符移到字符串的前部。voidfun(char*w,intm){inti;for(i=0;i<m;i++)fun1(w);}第七套1.程序填空程序通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲了一名學(xué)生的信息,函數(shù)fun的功能是輸出這位學(xué)生的信息。第1處voidshow(STUtt)第2處printf(“%5.1f”,tt.score[i]);第2處show(std)2.程序修改給定程序MODI1中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次最大數(shù),并把最大數(shù)和a[0]中的數(shù)對調(diào)、次最大數(shù)和a[1]中的數(shù)對調(diào)。intfun(int*a,intn){inti,m,t,k;for(i=0;i<2;i++){/*****found******/m=i;for(k=i+1;k<n;k++)/*****found******/if(a[k]>a[m])m=k;t=a[i];a[i]=a[m];a[m]=t;}}3.程序設(shè)計(jì)請編寫一個unsignedfun(unsignedw),w是一個大于10的無符號整數(shù),若w是n(n>=2)位的整數(shù),函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。例如:w值為5923,則函數(shù)返回923;w值為923則函數(shù)返回23。unsignedfun(unsignedw){if(w>=10000)returnw%10000;if(w>=1000)returnw%1000;if(w>=100)returnw%100;returnw%10;}第八套1.程序填空給定程序通過定義并賦值的方式,利用結(jié)構(gòu)體變量存儲了一名學(xué)生學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將該學(xué)生的各科成績都乘以一個系統(tǒng)a。第1處voidmodify(STU*ss,floata)第2處ss->score[i]*=a;第3處modify(&std,a);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求k!<13>,所求階乘的值作為函數(shù)值返回。例如:若k=10,則應(yīng)輸出:3628800。longfun(intk){/*****found******/if(k>0)return(k*fun(k-1));/*****found******/elseif(k==0)return1L;}3.程序設(shè)計(jì)程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(inta[][N],intn),函數(shù)的功能是:使數(shù)組左下三角元素中的值乘以fun(inta[][N],intn){inti,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]*=n;}第九套1.程序填空給定程序中,函數(shù)fun的功能是將不帶頭節(jié)點(diǎn)的單向鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)從小到大排序。即若原鏈表結(jié)點(diǎn)數(shù)據(jù)域從頭到尾的數(shù)據(jù)為:10、4、2、8、6,排序后鏈表結(jié)點(diǎn)數(shù)據(jù)域從頭至尾的數(shù)據(jù)為2、4、6、8、10。第1處q=p->next;第2處while(q)第3處p=p->next;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)換為A,z轉(zhuǎn)換成a),其它字符不變。voidfun(char*s){/*****found******/while(*s){if(*s>’A’&&*s<=’Z’||*s>=’a’&&*s<=’z’){if(*s==’Z’)*s=’A’;elseif(*s==’z’)*s=’a’;else*s=*s+1;}/*****found******/s++;}}3.程序設(shè)計(jì)voidfun(int*w,intp,intn){inti,j=0,b[N];for(i=p+1;i<n;i++)b[j++]=w[i];for(i=0;i<=p;i++)b[j++]=w[i];for(i=0;i<n;i++)w[i]=b[i];}第十套1程序填空給定程序中,函數(shù)fun的功能是:判定形參a所指的N×N(規(guī)定N為奇數(shù))的矩陣是否是“幻方”,若是,函數(shù)返回值為1;不是,函數(shù)返回值為0?!盎梅健钡呐卸l件是:矩陣每行、每列、主對角線及反對角線上元素之和都相等。第1處row=colum=0;第2處if((row!=colum)||(row!=m1))return0;第3處return1;2程序修改給定MODI1.Cfun函數(shù)的功能是:根據(jù)整型形參m,計(jì)算如下公式的值。t=1-1/2-1/3-……-1/m.#include<sdio.h>doublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/********found***********/t=t-1.0/i;/********found***********/returnt;}3程序設(shè)計(jì)請編寫一個函數(shù),函數(shù)的功能是刪除字符串中的所有空格。intfun(char*str){char*p=str;inti=0;while(*p){if(*p!=’’)str[i++]=*p;p++;}str[i]=0;}第十一套1程序填空給定程序中,函數(shù)fun的功能是將帶頭結(jié)點(diǎn)的單向鏈表逆置。即若原鏈表中從頭至尾結(jié)點(diǎn)數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結(jié)點(diǎn)數(shù)據(jù)域依次為:10、8、6、4、2、。第1處p=h->next;第2處if(p==0)return;第3處p=q;q=r;2.程序修改給定MODI1.Cfun函數(shù)的功能是:計(jì)算s所指字符串中含有t所指字符串的數(shù)目,并作為函數(shù)值返回。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。#include<stdio.h>#include<string.h>#defineN80intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){p=s;/*******found******/r=t;while(*r)if(*r==*p){r++;p++;}elsebreak;/*******found******/if(*r==0)n++;s++;}returnn;}3程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串,函數(shù)fun中給出的語句供供參考。voidfun(chara[M][N]),char*b){inti;*b=0;for(i=0;i<M;i++)strcat(b,a[i]);}第十二套1程序填空給定程序中,函數(shù)fun的功能是將不帶頭結(jié)點(diǎn)的單向鏈表逆置。即若原鏈表中從頭至尾結(jié)點(diǎn)數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結(jié)點(diǎn)數(shù)據(jù)域依次為:10、8、6、4、2。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處NODE*fun(NODE*h)第2處r=q->next;第3處q=r;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中位于奇數(shù)位置的字符或ASCII碼為偶數(shù)的字符放入t所指數(shù)組中(規(guī)定第一個字符放在第0位中)。#include<stdio.h>#include<string.h>#defineN80voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)/*******found******/if(i%2||s[i]%2==0)t[j++]=s[i];/*******found******/t[j]=’\0’;}3程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按列的順序依次放到一維數(shù)組中。函數(shù)fun中給出的語句僅供參考。#include<stdio.h>voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j,np=0;for(i=0;i<nn;i++)for(j=0;j<mm;j++){b[np]=s[j][i];np=i*mm+j+1;}*n=np;}第十三套1程序填空給定程序中,函數(shù)fun的功能是將帶頭節(jié)點(diǎn)的單向鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)從小到大排序,即若原鏈表結(jié)點(diǎn)數(shù)據(jù)域從頭至尾的數(shù)據(jù)為:10、4、2、8、6,排序后鏈表結(jié)點(diǎn)數(shù)據(jù)域從頭至尾的數(shù)據(jù)為:2、4、6、8、10。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處p=h->next;第2處q=p->next;第3處if(p->data>=q->data))2程序修改給定程序MODI1.C是建立一個帶頭結(jié)點(diǎn)的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點(diǎn)數(shù)據(jù)域賦值。函數(shù)fun的作用是求出單向鏈表結(jié)點(diǎn)(不包括頭結(jié)點(diǎn))數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。fun(NODE*h){intmax=-1;NODE*p;/*******found******/p=h->next;while(p){if(p->data>max)max=p->data;/*******found******/p=p->next;}returnmax;}3程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中。一維數(shù)組中數(shù)據(jù)的個數(shù)存放在形參n所指的存儲單元中。voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j,k;for(i=0;i<mm;i++)for(j=0;j<nn;j++){k=i*nn+j;b[k]=s[i][j];}*n=mm*nn;}第十四套1程序填空給定程序中,函數(shù)fun的功能是用函數(shù)指針指向要調(diào)用的函數(shù),并進(jìn)行調(diào)用。規(guī)定在_2_處使f指向函數(shù)f1,在_3_處使f指向函數(shù)f2。當(dāng)調(diào)用正確時,程序輸出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處double(*f)();第2處f=f1;第3處f=f2;2程序修改給定程序MODI1.C是建立一個帶頭點(diǎn)的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點(diǎn)賦值。函數(shù)fun的功能是將單向鏈表結(jié)點(diǎn)(不包括頭結(jié)點(diǎn))數(shù)據(jù)域?yàn)榕紨?shù)的值累加起來,并且作為函數(shù)值返回。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。intfun(NODE*h){intsum=0;NODE*p;/*******found******/p=h->next;while(p){if(p->data%2==0)sum+=p->data;/*******found******/p=p->next;}returnsum;}3程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是:判斷字符串是否為回文?叵是,函數(shù)返回1,主函數(shù)中輸出:YEX,否則返回0,主函數(shù)中輸出NO?;匚氖侵疙樧xt和倒讀都一樣的字符串。intfun(char*str){inti,j=strlen(str);for(i=0;i<j/2;i++)if(str[i]!=str[j-i-1])return0;return1;}第十五套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號,姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到student.dat文件中。函數(shù)fun的功能是從指定文件中找出指定學(xué)號的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對該生的分?jǐn)?shù)進(jìn)行修改,使每門課的分?jǐn)?shù)加3分,修改后重寫文件中該學(xué)生的數(shù)據(jù),即用該學(xué)生的背后數(shù)據(jù)覆蓋原數(shù)據(jù),其它學(xué)生數(shù)據(jù)不變;若找不到,則什么都不做。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處while(!feof(fp))第2處if(n.sno==sno)break;第3處fseek(fp,-1L*sizeof(STU),SEEKCUR);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:利用插入排序法對字符串中的字符按從小到大的順序進(jìn)行排序,插入法的基本算法是:先對字符串中的頭兩個元素進(jìn)行排序,然后把第三個字符插入到前兩個字符中,插入后前三個字符依然有序;再把第四個字符插入到前三個字符中,……。待排序的字符串已在主函數(shù)中賦予。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。voidinsert(char*aa){inti,j,n;charch;/*******found******/n=strlen(aa);for(i=1;i<n;i++){/*******found******/ch=aa[i];j=i-1;while((j>=0)&&(ch<aa[j])){aa[j+1]=aa[j];j--;}aa[j+1]=ch;}}3程序設(shè)計(jì)N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。doublefun(STREC*h){doublemax=h->s;STREC*p;p=h->next;while(p){if(p-s>max)max=p->s;p=p->next;}returnmax;}第十六套1程序填空給定程序中,函數(shù)fun的功能是:求出形參ss所指字符串?dāng)?shù)組中最長字符串的長度,將其余字符串右邊用字符*補(bǔ)齊,使其與最長的字符串等長。Ss所指字符串?dāng)?shù)組中共有M個字符串,且串長<N。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處n=strlen(ss[i]);第2處ss[i][n+j]=’*’;第3處ss[i][n+j+1]=’\0’;2程序修改給定程序MODI1.C中fun函數(shù)的功能是:將p所指字符串中每個單詞的最后一個字母改成大寫。(這里的“單詞”是指由空格隔開的字符串)。請改正程序中的錯誤之處,使它能得出正確的結(jié)果。#include<ctype.h>voidfun(char*p){intk=0;for(;*p;p++)if(k)/*******found******/if(*p==’’){k=0;/*******found******/*(p-1)=toupper(*(p-1));}}elsek=1;}3程序設(shè)計(jì)請編寫函數(shù)fun,對長度為7個字符的字符串,除首、尾字符外,將其余5個字符ASCII碼降序排列。intfun(char*s,intnum){charch;inti,j;for(i=1;i<6;i++)for(j=i+1;j<6;j++){if(*(s+i)<(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}}第十七套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲了若干名學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序(從小到大)排序。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處structstudentt;第2處for(i=0;i<n-1;i++)第3處if(strcmp(a[i].name,a[j].name)>0)2程序修改給定程序MODI1.C中函數(shù)fun的功能是:在p所指字符串中找出ASCII碼值最大的字符,將其放在第一個位置上;并將該字符前的原字符向后順序移動。fun(char*p){charmax,*q;inti=0;max=p[i];while(p[i]!=0){if(max<p[i]){max=p[i];/*******found******/q=p+i;}i++;}/*******found******/while(q>p){*q=*(q-1);q--;}p[0]=max;}3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。intfun(STREC*a,STREC*b,intl,inth){inti,j=0;for(i=0;i<N;i++)if((a[i].s>=l&&a[i].s<=h)b[j++]=a[i];returnj;}/*程序中l(wèi)是用L的小寫*/第十八套1程序填空給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數(shù)值返回。第1處t[j]=s[i];j++;第2處for(i=0;i<k;i++)t[j+i]=p[i];第3處t[j+k]=0;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。intfun(char*s,char*t1,char*t2,char*w){inti;char*p,*r,*a;strcpy(w,s);/*******found******/while(*w){p=w;r=t1;while(*r)/*******found******/if(*r==*p){r++;p++;}elsebreak;if(*r==’\0’)a=w;w++;}r=t2;while(*r){*a=*r;a++;r++;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;}第十九套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并把a(bǔ)中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。第1處structstudent*fun(structstudent*a)第2處for(i=0;i<3;i++)a->score[i]+=1;第3處returna;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:從N個字符串中找出最長的那個串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放入一個字符串?dāng)?shù)組中。/*******found******/char*fun(char(*sq)[M]){inti;char*sp;sp=sq[0];for(i=0;i<N;i++)if(strlen(sp)<strlen(sq[i]))sp=sq[i];/*******found******/returnsp;}3程序設(shè)計(jì)函數(shù)fun的功能是:將a、b中的兩個兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位數(shù)依次放在變量c的百位和個位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。#include<stdio.h>voidfun(inta,intb,long*c){*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}第二十套1程序填空給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個數(shù)的平均值,(規(guī)定所有數(shù)均為正數(shù)),將所指桑罵槐數(shù)組中小于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,大于等于平均值的數(shù)據(jù)移至x決指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。第1處for(i=0;i<N;i++)av+=x[i]/N第2處y[j]=x[i];x[i]=-1;j++;}第3處i++;2程序修改給定程序MODI1.C函數(shù)fun的功能是:統(tǒng)計(jì)字符串各元音字母(即:A、E、I、O、U)的個數(shù)。注意字母不分大、小寫。fun(char*s,intnum[5]){intk,i=5;for(k=0;k<i;k++)/*******found******/num[k]=0;for(;*s;s++){i=-1;/*******found******/switch(*s){case‘a(chǎn)’:case‘A’:{i=0;break;}{case‘e’:case‘E’:{i=1;break;}{case‘i’:case‘I’:{i=2;break;}{case‘o’:case‘O’:{i=3;break;}{case‘u’:case‘U’:{i=4;break;}}if(i>=0)num[i]++;}}3程序設(shè)計(jì)請編寫函數(shù)fun,函數(shù)的功能是求出二級數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。intfun(inta[M][N]){inttot=0,i,j;for(i=0;i<N;i++){tot+=a[0][i];tot+=a[M-1][i];}for(i=1;i<M-1;i++){tot+=a[i][0];tot+=a[i][N-1];}returntot;}第21套1程序填空給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)組的前部,小于等于平均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。第1處av=s/N;第2處y[j++]=x[i];x[i]=-1;}第3處if(x[i]!=-1)y[j++]=x[i];2程序修改給定程序MODI1.C的功能是:讀入一英文文本行,將其中每個單詞的第一個字母改成大寫,然后輸出此文本行(這里的“單詞”是指由空格隔開的字符串)/*******found******/#include<stdio.h>/*******found******/upfst(char*p){intk=0;for(;*p;p++)if(k){if(*p==’’)k=0;}elseif(*p!=’’){k=1;*p=toupper(*p);}}3程序設(shè)計(jì)程序定義了N×N的二級數(shù)組,并在主函數(shù)中賦值,請編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作出函數(shù)值返給主函數(shù)中的s。doublefun(intw[][N]){inti,j,n=0;doublesum=0;for(i=0;i<N;i++){sum+=w[0][i]+w[N-1][i];n+=2;}for(i=1;i<N-1;i++){sum+=w[i][0]+w[i][N-1];n+=2;}returnsum/n;}第22套1程序填空給定程序中,函數(shù)fun的功能是:將自然數(shù)1~10以及它們的平方根寫到名為myfile3.txt的文本文件中,然后再順序讀出顯示在屏幕上。第1處fprintf(fp,〝%d%f\n〞,i,sqrt((double)i));第2處fclose(fp);第3處if((fp=fopen(fname,〝r〞))==NULL)2程序修改給定程序MODI1.C中fun函數(shù)的功能是:將n個無序整數(shù)從小到大排序。fun(intn,int*a){inti,j,p,t;for(j=0;j<n-1;j++){p=j;/*******found******/for(i=j+1;i<n;i++)if(a[p]>a[i])/*******found******/p=i;if(p!=j){t=a[j];a[j]=a[p];a[p]=t;}}}3程序設(shè)計(jì)函數(shù)fun的功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上。#include<stdio.h>voidfun(inta,intb,long*c){*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}第23套1程序填空給定程序中,函數(shù)fun的功能是:找出N*N矩陣中每列元素中的最大值,并按順序依次存放于形參b所指的一維數(shù)組中。第1處b[i]=a[0][i];第2處if(b[i]<a[j][i])b[i]=a[j][i];第3處fun(x,y);2程序修改給定程序MODI1.C中fun函數(shù)的功能是:交換主函數(shù)中兩個變量的值。/*******found******/intfun(int*x,int*y){intt;/*******found******/t=*x;*x=*y;*y=t;}3程序設(shè)計(jì)編寫函數(shù)fun,函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,函數(shù)返回所求出的素?cái)?shù)的個數(shù)。函數(shù)fun中給出的語句僅供參考。#include<stdio.h>#defineMAX100intfun(intlim,intaa[MAX]){inti,j,k=0;for(i=2;i<=lim;i++){for(j=2;j<=(i/2);j++)if(i%j==0)break;if(j>(i/2))aa[k++]=i;}returnk;}第24套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參a中的數(shù)據(jù)進(jìn)行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進(jìn)行輸出。第1處structstudentfun(structstudenta)第2處strcpy(,〝LiSi〞);第3處a.score[i]+=1;2程序修改假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODI1.C中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。N中存放的是數(shù)列中元素的個數(shù)。fun(int*a,intn,intx){intp=0,i;a[n]=x;while(x!=a[p])p=p+1;/*******found******/if(p==n)return-1’else{for(i=p;i<n;i++)/*******found******/a[i]=a[i+1];returnn-1;}}3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號和成績組成。N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分階段數(shù)最低的學(xué)生可能不止一個,函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。intfun(STREC*a,STREC*b){inti,j=0,min=a[0].s;for(i=0;i<N;i++){if(min>a[i].s){j=0;b[j++]=a[i];min=a[i].s;}elseif(min==a[i].s)b[j++]=a[i];}returnj;}第25套1程序填空人員的記錄由編號和出生年、月、日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,且編號唯一。函數(shù)fun的功能是:找出指定編號人員的數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,若指定編號不存在,返回?cái)?shù)據(jù)中編號為空串。第1處STUfun(STU*std,char*num)第2處if(strcmp(std[i].num,num)==0)第3處return(std[i]);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的子串的個數(shù)作為函數(shù)值返回。intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){p=s;r=t;while(*r)if(*r==*p){/*******found******/r++;p++;}elsebreak;/*******found******/if(*r==0)n++;s++;}returnn;}3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2)t[j++]=s[i];t[j]=0;}第26套1程序填空給定程序中已建立一個帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保留一個。第1處free(q);第2處q=p->next;第3處q=q->next;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對數(shù)組中的n個元素按從小到大的順序進(jìn)行排序。voidfun(inta[],intn){inti,j,t,p;for(j=0;j<n-1;j++){/*******found******/p=j;for(i=j;i<n;i++)if(a[i]<a[p])/*******found******/p=i;t=a[p];a[p]=a[j];a[j]=t;}3程序設(shè)計(jì)請編寫一個函數(shù)fun,它的功能是:求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。voidfun(intm,int*a,int*n){inti;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;}第27套1程序填空給定程序中,函數(shù)fun的功能是:計(jì)算下式前n項(xiàng)的和作為函數(shù)值返回。例如,當(dāng)形參n的值為10時,函數(shù)返回:9.6125588s=(1*3)/22+(3*5)/42+(5*7)/62+(2*n-1)*(2*n+1)/(2*n)2(考試時公式用分式表示)第1處s=0;第2處for(i=1;i<=n;i++)第3處s=s+(2.0*i-1)*(2.0*i+1)/(t*t);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計(jì)substr所指子字符串在str所指字符串中出現(xiàn)伯次數(shù)。fun(char*str,char*substr){inti,j,k,num=0;/*******found******/for(i=0;str[i];i++)for(j=i,k=0;substr[k]==str[j];k++,j++)/*******found******/if(substr[k+1]==’\0’){num++;break;}returnnum;}3程序設(shè)計(jì)請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求Л的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時停止送代):程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14….Л/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+……doublefun(doubleeps){doubles=1,t=1./3;intn=1;while(t>=eps){s+=t;n++;t=t*n/(2.0*n+1);}return(s*2.0);}第28套1.程序填空給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。例如,形參s所指的字符串為:abcdef35adgh3kjsdf7。輸出結(jié)果為:4。第1處for(i=0;s[i]!=NULL;i++)第2處if(s[i]>='0'&&s[i]<='9')n++;第3處*t=n;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:通過某種方式實(shí)現(xiàn)兩個變量值的交換,規(guī)定不允許增加語句和表達(dá)式。例如變量a中的值原為8,b中的值原為3,程序運(yùn)行后a中的值為3,b中的值為8。intfun(int*x,inty){intt;/*******found******/t=*x;*x=y;/*******found******/return(t);}3程序設(shè)計(jì)請編寫函數(shù)fun,它的功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。#include<stdio.h>voidfun(int*a,int*n){inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0||(i%11)==0&&(i%77)!=0)a[(*n)++]=i;}第29套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是對形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行修改,最后在主函數(shù)中輸出修改后的數(shù)據(jù)。第1處b->sno=10004;第2處strcpy(b->name,〝LiJie〞);第3處fun(&t);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:應(yīng)用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時,平方根值為:1.414214x1=1/2*(x0+a/x0)(考試時是分?jǐn)?shù)形式)/*******found******/doublefun(doublea,doublex0){doublex1,y;x1=(x0+a/x0)/2.0;/*******found******/if(fabs(x1-x0)>0.00001)y=fun(a,x1);elsey=x1;returny;}3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分?jǐn)?shù)通過函數(shù)值返回。doublefun(STREC*a,STREC*b,int*n){doublet=0;inti;*n=0;for(i=0;i<N;i++)t=t+a[i].s;t=t/N;for(i=0;i<N;i++)if(a[i].s>t)b[(*n)++]=a[i];returnt;}第30套1程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號和姓名,最后輸出修改后的數(shù)據(jù)。第1處b=a;第2處strcpy(,〝LiSi〞)第3處for(i=0;i<3;i++)printf(〝%6.2f〞,b.score[i]);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計(jì)算出正確的結(jié)果。voidfun(char*s){inti,j;for(i=j=0;s[i]!=’\0’;i++)if(s[i!=’c’])/*******found******/s[j++]=s[i];/*******found******/s[j]=’\0’;}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號全部移到字符串的尾部。函數(shù)fun中給出的語句僅供參考。voidfun(char*a){char*p,*q;intn=0;p=a;while(*p==’*’){n++;p++;}q=a;while(*p){*q=*p;p++;q++;}for(;n>0;n--)*q++=’*’;*q=’\0’;}第31套1程序填空給定程序中,函數(shù)fun的功能是:對形參s所指字符串中下標(biāo)為奇數(shù)的字符按ASCII碼大小遞增排序,并將排序后下標(biāo)為奇數(shù)的字符取出,存入形參p所指字符數(shù)組中,形成一個新串。第1處t=i;第2處for(j=i+2;j<n;j=j+2)第3處p[j]=0;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:用下面的公式求∏的近似值,直到最后一項(xiàng)的絕對值小于指定的數(shù)(參數(shù)num)為止:例如:程序0.0001,則程序輸出3.1414∏/4≈1-1/3+1/5-1/7+……floatfun(floatnum){ints;floatn,t,pi;t=1;pi=0;n=1;s=1;/*******found******/while((fabs(t))>=num){pi=pi+t;n=n+2;s=-s;/*******found******/t=s/n;}pi=pi*4;returnpi;}3程序設(shè)計(jì)請編寫一個函數(shù)voidfun(chara[],charb[],intn),其功能是:刪除一個字符串指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的n中存入指定的下標(biāo)。voidfun(chara[],charb[],intn){strncpy(b,a,n);b[n]=0;strcat(b,a+n+1);}第32套1程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長超過k的字符串中右邊的字符刪除,只保留左邊的k個字符。ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。第1處voidfun(char(*ss)[M],intk)第2處while(i<N){第3處ss[i][k]=0;i++;}2程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求∏值,并作為函數(shù)值返回。例如,給指定精度的變量eps輸入0.0005時,應(yīng)當(dāng)輸出Pi=3.140578。Л/2=1+1/3+1/3*2/5+1/3*2/5*3/7+……(考試時是分?jǐn)?shù)形式)doublefun(doubleeps){doubles,t;intn=1;s=0.0;/*******found******/t=1;while(t>eps){s+=t;t=t*n/(2*n+1);n++;}/*******found******/return(2*s);}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號不得多于n個;若多于n個,則刪除多于的*號;若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。函數(shù)fun中給出的語句僅供參考。voidfun(char*a,intn){inti=0,j,k=0;while(a[k]==’*’)k++;if(k>n){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第33套1程序填空給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時函數(shù)返回值為1,失敗時返回值為0。在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放在變量tfname中。第1處if((fs=fopen(source,”r”))==NULL)第2處while(!feof(fs))第3處fputc(ch,ft);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將長整型中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。voidfun(longs,long*t){intd;longs1=1;*t=0;while(s>0){d=s%10;/*******found******/if(d%2==0){*t=d*sl+*t;sl*=10;}/*******found******/s/=10;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。voidfun(inta,intb,long*c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);}第34套1程序填空用篩選法可得到2~n(n<10000)之間的所有素?cái)?shù),方法是:首先從素?cái)?shù)2開始,將所有2的倍數(shù)的數(shù)從數(shù)表中刪去(把數(shù)表中相應(yīng)位置的值置成0);接著從數(shù)表中找下一個非0數(shù),并從數(shù)表中刪去該數(shù)的所有倍數(shù),依此類推,直到所找的下一個數(shù)等于n為止。這樣會得到一個序列:2,3,5,7,11,13,17,19,23,……函數(shù)fun用篩選法找出所有小等于n的素?cái)?shù),并統(tǒng)計(jì)素?cái)?shù)的個數(shù)作為函數(shù)值返回。第1處for(j=a[i]*2;j<=n;j+=a[i])第2處while(a[i]==0)第3處if(a[i]!=0)2程序修改給定程序MODI1.C中函數(shù)fun的功能是:為一個偶數(shù)尋找兩個素?cái)?shù),這兩個素?cái)?shù)之和等于該偶數(shù),并將這兩個素?cái)?shù)通過形參指針傳回主函數(shù)。voidfun(inta,int*b,int*c){inti,j,d,y;for(i=3;i<=a/2;i=i+2){/*******found******/y=1;for(j=2;j<=sqrt((double)i);j++)if(i%j==0)y=0;if(y==1){/*******found******/d=a-i;for(j=2;j<=sqrt((double)d);j++)if(d%j==0)y=0;if(y==1){*b=1;*c=d;}}}}3程序設(shè)計(jì)請編寫函數(shù)fun,它的功能是:計(jì)算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。doublefun(intn){inti;doublesum=0.0;for(i=1;i<=n;i++)if(i%5==0||i%9==0)sum+=1.0/i;returnsum;}第35套1程序填空給定程序中,函數(shù)fun的功能是建立一個N×N的矩形。矩陣元素的構(gòu)成規(guī)律是:最外層元素的值全部為1;從外向內(nèi)第2層元素的值全部為2;第3層元素的值全部為3,…依次類推。第1處voidfun(int(*a)[N])第2處for(j=i;j<N-i;j++)第3處a[k][i]=a[k][N-i-1]=i+1;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將十進(jìn)制正整數(shù)m轉(zhuǎn)換成k(2k9)進(jìn)制數(shù),并按高位到低位順序輸出。voidfun(intm,intk){intaa[20],i;for(i=0;m;i++){/*******found******/aa[i]=m%k;m/=k;}for(;i;i--)/*******found******/printf(“%d”,aa[i-1]);}3程序設(shè)計(jì)編寫一個函數(shù),從num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址。(注意:主函數(shù)中用****作為結(jié)束輸入的標(biāo)志,函數(shù)fun中給出的語句僅供參考)fun(char(*a)[81],intnum,char**max){inti,k=0,maxlen;maxlen=strlen(a[k]);for(i=1;i<num;i++){if(strlen(a[i])>maxlen){maxlen=strlen(a[i]);k=i;}}*max=a[k];}第36套1程序填空給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)出帶有頭結(jié)點(diǎn)的單向鏈表中結(jié)點(diǎn)的個數(shù),存放在形參n所指的存儲單元中。第1處*n=0;第2處p=p->next;第3處fun(head,&num);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出s所指字符串最后一次出現(xiàn)的t所指子字符串的地址,通過函數(shù)值返回,在主函數(shù)中輸出從此地址開始的字符串;若未找到,則函數(shù)值NULL。char*fun(char*s,char*t){char*p,*r,*a;/*******found******/a=NULL;while(*s){p=s;r=t;while(*r)/*******found******/if(*r==*p){r++;p++;}elsebreak;if(*r==’\0’)a=s;s++;}returna;}3程序設(shè)計(jì)函數(shù)fun找功能是:將s所指字符串中除了下標(biāo)為偶數(shù),同時ASCII值也為偶數(shù)的字符外,其余的全部都刪除;串中剩余字符所形成的一個新串放在t所指的數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]=0;}第37套1程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,查找含有形參substr所指子串的所有字符串并輸出,若沒找到輸出相應(yīng)信息。ss所指字符串?dāng)?shù)組中共有N個字符,且串長小于M。程序中庫函數(shù)strstr(s1,s2)的功能是在s1串中查找s2子串,若沒有,函數(shù)值為0,若有,為非0。第1處for(i=0;i<N;i++)第2處if(strstr(ss[i],substr)!=NULL)第3處if(find==0)2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。/*******found******/fun(intx,inty,intz){intj,t,n,m;j=1;t=j%x;m=j%y;n=j%z;while(t!=0||m!=0||n!=0){j=j+1;t=j%x;m=j%y;n=j%z;/*******found******/returnj;}3程序設(shè)計(jì)假定輸入的字符串中只包含中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(shù),形參e給出了字符串中最后*號的個數(shù)。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a,intn,inth,inte){char*p=a;intj=0,len=0;while(*p){p++;len++;}while(j<len-h-e){a[j]=a[h+j];j++;}a[j]=0;}第38套1程序填空函數(shù)fun的功能是:反形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a[0]、a[1]、a[2]、……中,把偶數(shù)從數(shù)組中刪除,奇數(shù)個數(shù)通過函數(shù)值返回。例如:若a所指數(shù)組中的數(shù)據(jù)最初排列為:9、1、4、2、3、6、5、8、7,刪除偶數(shù)后a所指數(shù)組中的數(shù)據(jù)為:9、1、3、5、7,返回值為5。第1處if(a[i]%2==1)第2處j++;第3處returnj;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。intfun(inta,intb){intr,t;if(a<b){/*******found******/t=a;a=b;b=t;}r=a%b;while(r!=0){a=b;b=r;r=a%b;}/*******found******/return(b);}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a){intj=0;char*p=a;while(*p){if(*p!=’*’)a[j++]=*p;p++;}a[j]=0;}第39套1程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個數(shù)。ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。第1處for(i=0;i<N;i++)第2處if(len<=k)第3處strcpy(ss[j++],ss[i]);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:逐個比較p、q所指兩個字符串對應(yīng)位置中的字符,把ASCII值大或相等的字符依次存在放到c所指數(shù)組中,形成一個新的字符串。voidfun(char*p,char*q,char*c){/*******found******/intk=0;/*******found******/while(*p||*q){if(*p<*q)c[k]=*q;elsec[k]=*p;if(*p)p++;if(*q)q++;k++;}}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了字符串前導(dǎo)*號之外,將串中其它*號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。函數(shù)fun中給出的語句僅供參考。voidfun(char*a){inti=0,k;while(a[i]==’*’)i++;k=i;while(a[i]!=’\0’){if(a[i]!=’*’)a[k++]=a[i];i++;}a[k]=’\0’;}第40套1程序填空給定程序中已建立一個帶頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點(diǎn)并插入到鏈表中,插入后各結(jié)點(diǎn)數(shù)據(jù)域的值仍保持遞增有序。第1處s->data=x;第2處q=p;第3處q->next=s;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算正整數(shù)num的各位上的數(shù)字之積。longfun(longnum){/*******found******/longk=1;do{k*=num%10;/*******found******/num/=10;}while(num);return(k);}3程序設(shè)計(jì)請編寫一個函數(shù)fun,它的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)返回。floatfun(float*a,intn){inti;floatave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;returnave;}第41套1程序填空給定程序中,函數(shù)fun的功能是:計(jì)算x所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),平均值通過形參返回主函數(shù),將小于平均值且最接近平均值的數(shù)作為函數(shù)值返回,在主函數(shù)中輸出。第1處*av=s/N;第2處d=*av-x[i];j=i;}第3處returnx[j];2程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整型形參n計(jì)算如下公式的值。例如:若n=10,則應(yīng)輸出:0.617977。A1=1,A2=1/(1+A1),A3=1/(1+A2),An=1/(1+An-1)/*******found******/floatfun(intn){floatA=1;inti;/*******found******/for(i=2;i<=n;i++)A=1.0/(1+A);returnA;}3程序設(shè)計(jì)程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組右上三角元素中的值乘以fun(inta[][N],intm){inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m;}第42套1程序填空給定程序中,函數(shù)fun的功能是:將s所指字符串中的所有數(shù)字字符移到所有非數(shù)字字符之后,并保持?jǐn)?shù)字字符串和非數(shù)字字符串原有的先后次序。第1處j++;第2處s[i]=t1[i];第3處for(i=0;i<j;i++)2程序修改給定程序MODI1.C中函數(shù)fun的功能是:用冒泡法對6個字符串按由小到大的順序進(jìn)行排序。fun(char*pstr[6]){inti,j;char*p;for(i=0;i<5;i++)/*******found******/for(j=i+1;j<6;j++){if(strcmp(*(pstr+i),*(pstr+j))>0){p=*(pstr+i);/*******found******/*(pstr+i)=*(pstr+j);*(pstr+j)=p;}}}}3程序設(shè)計(jì)請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。intfun(char*ss,charc){intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;}第43套1程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串中查找與形參t所指字符串相同的串,找到后返回該串在字符串中的位置(下標(biāo)值),未找到則返回-1。ss所指字符串?dāng)?shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。第1處for(i=0;i<N;i++)第2處if(strcmp(ss[i],t)==0)returni;第3處if(n==-1)printf(“\nDon’tfound!\n”);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:從整數(shù)1到55之間,選出能被3整除、且有一位上的數(shù)是5的那些數(shù),并把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個位數(shù),a2放十位數(shù)。fun(int*b){intk,a1,a2,i=0;for(k=10;k<=55;k++){/*******found******/a2=k/10;a1=k-a2*10;if((k%3==0&&a2==5)||k%3==0&&a1==5)){b[i]=k;i++;}/*******found******/returni;}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。voidfun(char*a){char*p=a;while(*p)p++;p--;while(*p==’*’)p--;p++;*p=0;}第44套1程序填空函數(shù)fun的功能是進(jìn)行數(shù)字字符轉(zhuǎn)換。若形參ch中是數(shù)字字符‘0’--‘9’,則‘0’轉(zhuǎn)換成‘9’,‘1’轉(zhuǎn)換成‘8’,‘2’轉(zhuǎn)換成‘7’,……‘9’轉(zhuǎn)換成‘0’;若是其它字符則保持不變;并將轉(zhuǎn)換后的結(jié)果作為函數(shù)值返回。第1處charfun(charch)第2處if(ch>=’0’&&ch<=’9’)第3處return‘9’-(ch-‘0’);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將p所指字符串中的所有字符復(fù)制到b中,要求復(fù)制第三個字符之后插入一個空格。voidfun(char*p,char*b){inti,k=0;while(*p){i=1;while(i<=3&&*P){/*******found******/b[k]=*p;k++;p++;i++;}if(*p){/*******found******/b[k++]=’’;}}b[k]=’\0’;}3程序設(shè)計(jì)N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。doublefun(STREC*h){STREC*p=h->next;doubleav=0.0;intn=0;while(p!=NULL){av=av+p->s;p=p->next;n++;}av/=n;returnav;}第45套1程序填空函數(shù)fun的功能是:把形參a所指數(shù)組中的偶數(shù)按原順序依次存放到a[0]、a[1]、a[2]、……中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個數(shù)通過函數(shù)值返回。第1處if(a[i]%2==0){第2處a[j]=a[i];j++;第3處returnj;2程序修改給定程序AODI1.C中函數(shù)fun的功能是:按以下遞歸公司求函數(shù)值。例如,當(dāng)給n輸入5時,函數(shù)值為18;當(dāng)給n輸入3時,函數(shù)值為14。10(n=1)fun(n)=fun(n-1)+2(n>1)#include<stdio.h>/*******found******/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)投資合同:甲方投資乙方公司的投資金額、股權(quán)比例等3篇
- 二零二五年度車輛包車保險合同規(guī)范3篇
- 二零二五版地下綜合管廊安全防護(hù)質(zhì)量保修合同3篇
- 二零二五版30萬噸礦砂船船舶維修保養(yǎng)及配件供應(yīng)長期合同3篇
- 二零二五版專業(yè)環(huán)保印刷保密合同3篇
- 二零二五年度網(wǎng)絡(luò)直播平臺運(yùn)營與分成合同2篇
- 二零二五年環(huán)保搬運(yùn)承包項(xiàng)目合同3篇
- 解除2025年度互聯(lián)網(wǎng)金融服務(wù)合同3篇
- 二零二五版文化衍生品開發(fā)及銷售合同范本3篇
- 二零二五版服裝品牌管理公司員工勞動合同范本3篇
- 2025年中國高純生鐵行業(yè)政策、市場規(guī)模及投資前景研究報告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 北師大版數(shù)學(xué)三年級下冊豎式計(jì)算題100道
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對措施
- 胃鏡下超聲穿刺護(hù)理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評論
0/150
提交評論