2012全國計算機二級C語言上機考試全真題庫_第1頁
2012全國計算機二級C語言上機考試全真題庫_第2頁
2012全國計算機二級C語言上機考試全真題庫_第3頁
2012全國計算機二級C語言上機考試全真題庫_第4頁
2012全國計算機二級C語言上機考試全真題庫_第5頁
已閱讀5頁,還剩143頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2012全國計算機二級C語言上機考試全真題庫含金量保證高第一套1.程序填空給定程序中,函數fun的功能是:將形參n所指變量中,各位上為偶數的數去除,剩余的數按原來從高位到低位的順序組成一個新的數,并通過形參指針n傳回所指變量。如輸入一個數:27638496,新的數為729第一空:{t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改給定程序modi1.c中函數fun的功能是:計算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.程序設計請編寫一個函數fun,它的功能是:將一個數字字符串轉換為一個整數(不得調用C語言提供的將字符串轉換為整數的函數)。例如,若輸入字符串“-1234”,則函數把它轉換為整數值-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門課的成績。所有學生數據均以二進制方式輸出到文件中。函數fun的功能是重寫形參filename所指的文件中最后一個學生的數據,即用新的學生數據覆蓋該學生原來的數據,其它學生的數據不變。第1處:fp=fopen(filename,”rb+”)第2處:fseek(fp,-1L*sizeof(STU),SEEK_END);第3處:fwrite(&n,sizeof(STU),1,fp);2.程序修改給定程序MODI1.C中的函數Creatlink的功能是創建帶頭結點的單向鏈表,并為各結點數據域賦0到m-1的值。請改正函數Creatlink中指定部位的錯誤,使它能得出正確的結果。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.程序設計請編寫函數fun,函數的功能是:統計一行字符串中單詞的個數,作為函數值返回。一行字符串在主函數中輸入,規定所有單詞由小寫字母組成,單詞之間由若干個空格格開,一行的開始沒有空格。intfun(char*s){intk=1;while(*s){if(*s==’’)k++;s++;}returnk;}第四套1.程序填空程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。所有學生數據均以二進制方式輸出到文件中。函數fun的功能是從形參filename所指的文件中讀入學生數據,并按照學號從小到大排序后,再用二進制方式把排序后的學生數據輸出到filename所指的文件中,覆蓋原來的文件內容。第1處fp=fopen(filename,"rb");第2處if(s[i].sno>s[j].sno)第3處fwrite(s,sizeof(STU),N,fp);2.程序修改給定程序MODI1.C中函數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.程序設計請編寫函數fun,函數的功能是:統計各年齡段的人數,N個年齡能過調用隨機函數獲得,并放在主函數的age數組中:要求函數把0至9歲的年齡段的人數放在d[0]中,把10至19歲的年齡段的人數放在d[1]中,把20至29歲的年齡段的人數放在d[2]中,其余依次類推,把100歲(含100歲)以上年齡的人數都放在d[10]中。結果在主函數中輸出。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.程序填空給定程序中,函數fun的功能是將參數給定的字符串、整數、浮點數寫到文件文件中,再用字符串方式從此文本文件中逐個讀入,并調用庫函數atoi和atof將字符串換成相應的整數和浮點數,然后將其顯示在屏幕上。第1處:FILE*fp;第2處:fclose(fp);第3處:fscanf(fp,”%s%s%s”,str,str1,str2);2.程序修改給定程序MODI1.C中函數fun的功能是:對N名學生的學生成績,按從高到低的順序找出前m(m<10)名學生來,將這些學生數據存放在一個動態分配的連續存儲區中,此存儲區的首地址作為函數值返回。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.程序設計請編寫函數fun,函數的功能是,刪去一維數組中所有相同的數,使之只剩一個。數組中的數已按從小到大的順序排序,函數返回刪除后數組中數據的個數。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.程序填空給定程序中,函數fun的功能是根據形參i的值返回某個函數年值。當調用正確時,程序輸出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000第一處:doublefun(inti,doublex,doubley)第二處:returnf1(x);第三處:returnf2(x,y);2.程序修改給定程序MODI1.C中函數fun的功能是:比較兩個字符串,將長的那個字符串的首地址作為函數值返回。#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.程序設計請編寫函數fun,函數的功能是:移動字符串中的內容,移動的規則如下:把第1到第m個字符,平均移到字符串的最后,把第m+1個到最后的;字符移到字符串的前部。voidfun(char*w,intm){inti;for(i=0;i<m;i++)fun1(w);}第七套1.程序填空程序通過定義并賦初值的方式,利用結構體變量存儲了一名學生的信息,函數fun的功能是輸出這位學生的信息。第1處voidshow(STUtt)第2處printf(“%5.1f”,tt.score[i]);第2處show(std)2.程序修改給定程序MODI1中函數fun的功能是:求出數組中最大數和次最大數,并把最大數和a[0]中的數對調、次最大數和a[1]中的數對調。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.程序設計請編寫一個unsignedfun(unsignedw),w是一個大于10的無符號整數,若w是n(n>=2)位的整數,函數求出w的后n-1位的數作為函數值返回。例如:w值為5923,則函數返回923;w值為923則函數返回23。unsignedfun(unsignedw){if(w>=10000)returnw%10000;if(w>=1000)returnw%1000;if(w>=100)returnw%100;returnw%10;}第八套1.程序填空給定程序通過定義并賦值的方式,利用結構體變量存儲了一名學生學號、姓名和3門課的成績。函數fun的功能是將該學生的各科成績都乘以一個系統a。第1處voidmodify(STU*ss,floata)第2處ss->score[i]*=a;第3處modify(&std,a);2.程序修改給定程序MODI1.C中函數fun的功能是:求k!<13>,所求階乘的值作為函數值返回。例如:若k=10,則應輸出:3628800。longfun(intk){/*****found******/if(k>0)return(k*fun(k-1));/*****found******/elseif(k==0)return1L;}3.程序設計程序定義了N*N的二維數組,并在主函數中自動賦值。請編寫函數fun(inta[][N],intn),函數的功能是:使數組左下三角元素中的值乘以fun(inta[][N],intn){inti,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]*=n;}第九套1.程序填空給定程序中,函數fun的功能是將不帶頭節點的單向鏈表結點數據域中的數據從小到大排序。即若原鏈表結點數據域從頭到尾的數據為:10、4、2、8、6,排序后鏈表結點數據域從頭至尾的數據為2、4、6、8、10。第1處q=p->next;第2處while(q)第3處p=p->next;2.程序修改給定程序MODI1.C中函數fun的功能是:將s所指字符串中的字母轉換為按字母序列的后續字母(但Z轉換為A,z轉換成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.程序設計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程序填空給定程序中,函數fun的功能是:判定形參a所指的N×N(規定N為奇數)的矩陣是否是“幻方”,若是,函數返回值為1;不是,函數返回值為0?!盎梅健钡呐卸l件是:矩陣每行、每列、主對角線及反對角線上元素之和都相等。第1處row=colum=0;第2處if((row!=colum)||(row!=m1))return0;第3處return1;2程序修改給定MODI1.Cfun函數的功能是:根據整型形參m,計算如下公式的值。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程序設計請編寫一個函數,函數的功能是刪除字符串中的所有空格。intfun(char*str){char*p=str;inti=0;while(*p){if(*p!=’’)str[i++]=*p;p++;}str[i]=0;}第十一套1程序填空給定程序中,函數fun的功能是將帶頭結點的單向鏈表逆置。即若原鏈表中從頭至尾結點數據域依次為:2、4、6、8、10,逆置后,從頭至尾結點數據域依次為:10、8、6、4、2、。第1處p=h->next;第2處if(p==0)return;第3處p=q;q=r;2.程序修改給定MODI1.Cfun函數的功能是:計算s所指字符串中含有t所指字符串的數目,并作為函數值返回。請改正函數fun中指定部位的錯誤,使它能得出正確的結果。#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程序設計請編寫函數fun,函數的功能是:將放在字符串數組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串,函數fun中給出的語句供供參考。voidfun(chara[M][N]),char*b){inti;*b=0;for(i=0;i<M;i++)strcat(b,a[i]);}第十二套1程序填空給定程序中,函數fun的功能是將不帶頭結點的單向鏈表逆置。即若原鏈表中從頭至尾結點數據域依次為:2、4、6、8、10,逆置后,從頭至尾結點數據域依次為:10、8、6、4、2。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處NODE*fun(NODE*h)第2處r=q->next;第3處q=r;2程序修改給定程序MODI1.C中函數fun的功能是:將s所指字符串中位于奇數位置的字符或ASCII碼為偶數的字符放入t所指數組中(規定第一個字符放在第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程序設計請編寫函數fun,函數的功能是:將M行N列的二維數組中的數據,按列的順序依次放到一維數組中。函數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程序填空給定程序中,函數fun的功能是將帶頭節點的單向鏈表結點數據域中的數據從小到大排序,即若原鏈表結點數據域從頭至尾的數據為:10、4、2、8、6,排序后鏈表結點數據域從頭至尾的數據為:2、4、6、8、10。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處p=h->next;第2處q=p->next;第3處if(p->data>=q->data))2程序修改給定程序MODI1.C是建立一個帶頭結點的單向鏈表,并用隨機函數為各結點數據域賦值。函數fun的作用是求出單向鏈表結點(不包括頭結點)數據域中的最大值,并且作為函數值返回。請改正函數fun中指定部位的錯誤,使它能得出正確的結果。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程序設計請編寫函數fun,函數的功能是:將M行N列的二維數組中的數據,按行的順序依次放到一維數組中。一維數組中數據的個數存放在形參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程序填空給定程序中,函數fun的功能是用函數指針指向要調用的函數,并進行調用。規定在_2_處使f指向函數f1,在_3_處使f指向函數f2。當調用正確時,程序輸出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處double(*f)();第2處f=f1;第3處f=f2;2程序修改給定程序MODI1.C是建立一個帶頭點的單向鏈表,并用隨機函數為各結點賦值。函數fun的功能是將單向鏈表結點(不包括頭結點)數據域為偶數的值累加起來,并且作為函數值返回。請改正函數fun中指定部位的錯誤,使它能得出正確的結果。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程序設計請編寫函數fun,函數的功能是:判斷字符串是否為回文?叵是,函數返回1,主函數中輸出:YEX,否則返回0,主函數中輸出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程序填空程序通過定義學生結構體變量,存儲了學生的學號,姓名和3門課的成績。所有學生數據均以二進制方式輸出到student.dat文件中。函數fun的功能是從指定文件中找出指定學號的學生數據,讀入此學生數據,對該生的分數進行修改,使每門課的分數加3分,修改后重寫文件中該學生的數據,即用該學生的背后數據覆蓋原數據,其它學生數據不變;若找不到,則什么都不做。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處while(!feof(fp))第2處if(n.sno==sno)break;第3處fseek(fp,-1L*sizeof(STU),SEEKCUR);2程序修改給定程序MODI1.C中函數fun的功能是:利用插入排序法對字符串中的字符按從小到大的順序進行排序,插入法的基本算法是:先對字符串中的頭兩個元素進行排序,然后把第三個字符插入到前兩個字符中,插入后前三個字符依然有序;再把第四個字符插入到前三個字符中,……。待排序的字符串已在主函數中賦予。請改正函數fun中指定部位的錯誤,使它能得出正確的結果。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程序設計N名學生的成績已在主函數中放入一個帶頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,它的功能是:找出學生的最高分,由函數值返回。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程序填空給定程序中,函數fun的功能是:求出形參ss所指字符串數組中最長字符串的長度,將其余字符串右邊用字符*補齊,使其與最長的字符串等長。Ss所指字符串數組中共有M個字符串,且串長<N。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處n=strlen(ss[i]);第2處ss[i][n+j]=’*’;第3處ss[i][n+j+1]=’\0’;2程序修改給定程序MODI1.C中fun函數的功能是:將p所指字符串中每個單詞的最后一個字母改成大寫。(這里的“單詞”是指由空格隔開的字符串)。請改正程序中的錯誤之處,使它能得出正確的結果。#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程序設計請編寫函數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程序填空程序通過定義學生結構體數組,存儲了若干名學生的學號、姓名和3門課的成績。函數fun的功能是將存放學生數據的結構體數組,按照姓名的字典序(從小到大)排序。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。第1處structstudentt;第2處for(i=0;i<n-1;i++)第3處if(strcmp(a[i].name,a[j].name)>0)2程序修改給定程序MODI1.C中函數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程序設計學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫了函數fun,它的功能是:把指定分數范圍內的學生數據放在b所指的數組中,分數范圍內的學生人數由函數值返回。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是用L的小寫*/第十八套1程序填空給定程序中,函數fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數值返回。第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中函數fun的功能是:將s所指字符串中最后一次出現的與t1所指字符串相同的子串替換成t2所指字符串,所形成的新串放在w所指的數組中。在此處,要求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程序設計函數fun的功能是:將s所指字符串中ASCII值為奇數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。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程序填空程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是將形參a所指結構體變量s中的數據進行修改,并把a中地址作為函數值返回主函數,在主函數中輸出修改后的數據。第1處structstudent*fun(structstudent*a)第2處for(i=0;i<3;i++)a->score[i]+=1;第3處returna;2程序修改給定程序MODI1.C中函數fun的功能是:從N個字符串中找出最長的那個串,并將其地址作為函數值返回。各字符串在主函數中輸入,并放入一個字符串數組中。/*******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程序設計函數fun的功能是:將a、b中的兩個兩位正整數合并形成一個新的整數放在c中。合并的方式是:將a中的十位和個位數依次放在變量c的百位和個位上,b中的十位和個位數依次放在變量c的十位和千位上。#include<stdio.h>voidfun(inta,intb,long*c){*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}第二十套1程序填空給定程序中,函數fun的功能是:計算形參x所指數組中N個數的平均值,(規定所有數均為正數),將所指桑罵槐數組中小于平均值的數據移至數據的前部,大于等于平均值的數據移至x決指數組的后部,平均值作為函數值返回,在主函數中輸出平均值和移動后的數據。第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函數fun的功能是:統計字符串各元音字母(即:A、E、I、O、U)的個數。注意字母不分大、小寫。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’: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程序設計請編寫函數fun,函數的功能是求出二級數組周邊元素之和,作為函數值返回。二維數組中的值在主函數中賦予。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程序填空給定程序中,函數fun的功能是:計算形參x所指數組中N個數的平均值(規定所有數均為正數),將所指數組中大于平均值的數據移至數組的前部,小于等于平均值的數據移至x所指數組的后部,平均值作為函數值返回,在主函數中輸出平均值和移動后的數據。第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程序設計程序定義了N×N的二級數組,并在主函數中賦值,請編寫函數fun,函數的功能是:求出數組周邊元素的平均值并作出函數值返給主函數中的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程序填空給定程序中,函數fun的功能是:將自然數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函數的功能是:將n個無序整數從小到大排序。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程序設計函數fun的功能是:將兩個兩位數的正整數a、b合并形成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的個位和百位上,b數的十位和個位數依次放在c數的十位和千位上。#include<stdio.h>voidfun(inta,intb,long*c){*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}第23套1程序填空給定程序中,函數fun的功能是:找出N*N矩陣中每列元素中的最大值,并按順序依次存放于形參b所指的一維數組中。第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函數的功能是:交換主函數中兩個變量的值。/*******found******/intfun(int*x,int*y){intt;/*******found******/t=*x;*x=*y;*y=t;}3程序設計編寫函數fun,函數的功能是求出小于或等于lim的所有素數并放在aa數組中,函數返回所求出的素數的個數。函數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程序填空程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是將形參a中的數據進行修改,把修改后的數據作為函數值返回主函數進行輸出。第1處structstudentfun(structstudenta)第2處strcpy(,〝LiSi〞);第3處a.score[i]+=1;2程序修改假定整數數列中的數不重復,并存放在數組中。給定程序MODI1.C中函數fun的功能是:刪除數列中值為x的元素。N中存放的是數列中元素的個數。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程序設計學生的記錄由學號和成績組成。N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:把分數最低的學生數據放在b所指的數組中,注意:分階段數最低的學生可能不止一個,函數返回分數最低的學生的人數。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名人員的數據已在主函數中存入結構體數組std中,且編號唯一。函數fun的功能是:找出指定編號人員的數據,作為函數值返回,由主函數輸出,若指定編號不存在,返回數據中編號為空串。第1處STUfun(STU*std,char*num)第2處if(strcmp(std[i].num,num)==0)第3處return(std[i]);2程序修改給定程序MODI1.C中函數fun的功能是:從s所指字符串中,找出與t所指字符串相同的子串的個數作為函數值返回。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程序設計函數fun的功能是:將s所指字符串中ASCII值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。#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程序填空給定程序中已建立一個帶有頭結點的單向鏈表,鏈表中的各結點按數據域遞增有序連接。函數fun的功能是:刪除鏈表中數據域值相同的結點,使之只保留一個。第1處free(q);第2處q=p->next;第3處q=q->next;2程序修改給定程序MODI1.C中函數fun的功能是:用選擇法對數組中的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程序設計請編寫一個函數fun,它的功能是:求出1到m之間(含m)能被7或11整除的所有整數放在數組a中,通過n返回這些數的個數。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程序填空給定程序中,函數fun的功能是:計算下式前n項的和作為函數值返回。例如,當形參n的值為10時,函數返回: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中函數fun的功能是:統計substr所指子字符串在str所指字符串中出現伯次數。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程序設計請編寫一個函數fun,它的功能是:根據以下公式求Л的值(要求滿足精度0.0005,即某項小于0.0005時停止送代):程序運行后,如果輸入精度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.程序填空給定程序中,函數fun的功能是:統計形參s所指字符串中數字字符出現的次數,并存放在形參t所指的變量中,最后在主函數中輸出。例如,形參s所指的字符串為:abcdef35adgh3kjsdf7。輸出結果為:4。第1處for(i=0;s[i]!=NULL;i++)第2處if(s[i]>='0'&&s[i]<='9')n++;第3處*t=n;2程序修改給定程序MODI1.C中函數fun的功能是:通過某種方式實現兩個變量值的交換,規定不允許增加語句和表達式。例如變量a中的值原為8,b中的值原為3,程序運行后a中的值為3,b中的值為8。intfun(int*x,inty){intt;/*******found******/t=*x;*x=y;/*******found******/return(t);}3程序設計請編寫函數fun,它的功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數并將它們放在a所指的數組中,通過n返回這些數的個數。#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程序填空程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是對形參b所指結構體變量中的數據進行修改,最后在主函數中輸出修改后的數據。第1處b->sno=10004;第2處strcpy(b->name,〝LiJie〞);第3處fun(&t);2程序修改給定程序MODI1.C中函數fun的功能是:應用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時,平方根值為:1.414214x1=1/2*(x0+a/x0)(考試時是分數形式)/*******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程序設計學生的記錄由學號和成績組成,N名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:把高于等于平均分的學生數據放在b所指的數組中,高于等于平均分的學生人數通過形參n傳回,平均分數通過函數值返回。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程序填空程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是將形參a所指結構體變量中的數據賦給函數中的結構體變量b,并修改b中的學號和姓名,最后輸出修改后的數據。第1處b=a;第2處strcpy(,〝LiSi〞)第3處for(i=0;i<3;i++)printf(〝%6.2f〞,b.score[i]);2程序修改給定程序MODI1.C中函數fun的功能是:從s所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計算出正確的結果。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程序設計假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:將字符串的前導*號全部移到字符串的尾部。函數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程序填空給定程序中,函數fun的功能是:對形參s所指字符串中下標為奇數的字符按ASCII碼大小遞增排序,并將排序后下標為奇數的字符取出,存入形參p所指字符數組中,形成一個新串。第1處t=i;第2處for(j=i+2;j<n;j=j+2)第3處p[j]=0;2程序修改給定程序MODI1.C中函數fun的功能是:用下面的公式求∏的近似值,直到最后一項的絕對值小于指定的數(參數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程序設計請編寫一個函數voidfun(chara[],charb[],intn),其功能是:刪除一個字符串指定下標的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的n中存入指定的下標。voidfun(chara[],charb[],intn){strncpy(b,a,n);b[n]=0;strcat(b,a+n+1);}第32套1程序填空給定程序中,函數fun的功能是:在形參ss所指字符串數組中,將所有串長超過k的字符串中右邊的字符刪除,只保留左邊的k個字符。ss所指字符串數組中共有N個字符串,且串長小于M。第1處voidfun(char(*ss)[M],intk)第2處while(i<N){第3處ss[i][k]=0;i++;}2程序修改給定程序MODI1.C中函數fun的功能是:根據以下公式求∏值,并作為函數值返回。例如,給指定精度的變量eps輸入0.0005時,應當輸出Pi=3.140578。Л/2=1+1/3+1/3*2/5+1/3*2/5*3/7+……(考試時是分數形式)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程序設計假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:將字符串的前導*號不得多于n個;若多于n個,則刪除多于的*號;若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。函數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程序填空給定程序的功能是:調用函數fun將指定源文件中的內容復制到指定的目標文件中,復制成功時函數返回值為1,失敗時返回值為0。在復制的過程中,把復制的內容輸出到終端屏幕。主函數中源文件名放在變量sfname中,目標文件名放在變量tfname中。第1處if((fs=fopen(source,”r”))==NULL)第2處while(!feof(fs))第3處fputc(ch,ft);2程序修改給定程序MODI1.C中函數fun的功能是:將長整型中每一位上為偶數的數依次取出,構成一個新數放在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程序設計函數fun的功能是:將兩個兩位數的正整數a、b合并形成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的十位和千位上,b數的十位和個位數依次放在c數的百位和個位上。voidfun(inta,intb,long*c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);}第34套1程序填空用篩選法可得到2~n(n<10000)之間的所有素數,方法是:首先從素數2開始,將所有2的倍數的數從數表中刪去(把數表中相應位置的值置成0);接著從數表中找下一個非0數,并從數表中刪去該數的所有倍數,依此類推,直到所找的下一個數等于n為止。這樣會得到一個序列:2,3,5,7,11,13,17,19,23,……函數fun用篩選法找出所有小等于n的素數,并統計素數的個數作為函數值返回。第1處for(j=a[i]*2;j<=n;j+=a[i])第2處while(a[i]==0)第3處if(a[i]!=0)2程序修改給定程序MODI1.C中函數fun的功能是:為一個偶數尋找兩個素數,這兩個素數之和等于該偶數,并將這兩個素數通過形參指針傳回主函數。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程序設計請編寫函數fun,它的功能是:計算并輸出n(包括n)以內能被5或9整除的所有自然數的倒數之和。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程序填空給定程序中,函數fun的功能是建立一個N×N的矩形。矩陣元素的構成規律是:最外層元素的值全部為1;從外向內第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中函數fun的功能是:將十進制正整數m轉換成k(2k9)進制數,并按高位到低位順序輸出。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程序設計編寫一個函數,從num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址。(注意:主函數中用****作為結束輸入的標志,函數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程序填空給定程序中,函數fun的功能是:統計出帶有頭結點的單向鏈表中結點的個數,存放在形參n所指的存儲單元中。第1處*n=0;第2處p=p->next;第3處fun(head,&num);2程序修改給定程序MODI1.C中函數fun的功能是:求出s所指字符串最后一次出現的t所指子字符串的地址,通過函數值返回,在主函數中輸出從此地址開始的字符串;若未找到,則函數值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程序設計函數fun找功能是:將s所指字符串中除了下標為偶數,同時ASCII值也為偶數的字符外,其余的全部都刪除;串中剩余字符所形成的一個新串放在t所指的數組中。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程序填空給定程序中,函數fun的功能是:在形參ss所指字符串數組中,查找含有形參substr所指子串的所有字符串并輸出,若沒找到輸出相應信息。ss所指字符串數組中共有N個字符,且串長小于M。程序中庫函數strstr(s1,s2)的功能是在s1串中查找s2子串,若沒有,函數值為0,若有,為非0。第1處for(i=0;i<N;i++)第2處if(strstr(ss[i],substr)!=NULL)第3處if(find==0)2程序修改給定程序MODI1.C中函數fun的功能是:求三個數的最小公倍數。/*******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程序設計假定輸入的字符串中只包含中只包含字母和*號。請編寫函數fun,它的功能是:只刪除字符串前導和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導*號的個數,形參e給出了字符串中最后*號的個數。在編寫函數時,不得使用C語言提供的字符串函數。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程序填空函數fun的功能是:反形參a所指數組中的奇數按原順序依次存放到a[0]、a[1]、a[2]、……中,把偶數從數組中刪除,奇數個數通過函數值返回。例如:若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7,刪除偶數后a所指數組中的數據為:9、1、3、5、7,返回值為5。第1處if(a[i]%2==1)第2處j++;第3處returnj;2程序修改給定程序MODI1.C中函數fun的功能是:求出兩個非零正整數的最大公約數,并作為函數值返回。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程序設計假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:刪除字符串中所有的*號。在編寫函數時,不得使用C語言提供的字符串函數。voidfun(char*a){intj=0;char*p=a;while(*p){if(*p!=’*’)a[j++]=*p;p++;}a[j]=0;}第39套1程序填空給定程序中,函數fun的功能是:在形參ss所指字符串數組中,刪除所有串長超過k的字符串,函數返回所剩字符串的個數。ss所指字符串數組中共有N個字符串,且串長小于M。第1處for(i=0;i<N;i++)第2處if(len<=k)第3處strcpy(ss[j++],ss[i]);2程序修改給定程序MODI1.C中函數fun的功能是:逐個比較p、q所指兩個字符串對應位置中的字符,把ASCII值大或相等的字符依次存在放到c所指數組中,形成一個新的字符串。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程序設計假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:除了字符串前導*號之外,將串中其它*號全部刪除。在編寫函數時,不得使用C語言提供的字符串函數。函數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程序填空給定程序中已建立一個帶頭結點的單向鏈表,鏈表中的各結點按結點數據域中的數據遞增有序鏈接。函數fun的功能是:把形參x的值放入一個新結點并插入到鏈表中,插入后各結點數據域的值仍保持遞增有序。第1處s->data=x;第2處q=p;第3處q->next=s;2程序修改給定程序MODI1.C中函數fun的功能是:計算正整數num的各位上的數字之積。longfun(longnum){/*******found******/longk=1;do{k*=num%10;/*******found******/num/=10;}while(num);return(k);}3程序設計請編寫一個函數fun,它的功能是:計算n門課程的平均分,計算結果作為函數返回。floatfun(float*a,intn){inti;floatave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;returnave;}第41套1程序填空給定程序中,函數fun的功能是:計算x所指數組中N個數的平均值(規定所有數均為正數),平均值通過形參返回主函數,將小于平均值且最接近平均值的數作為函數值返回,在主函數中輸出。第1處*av=s/N;第2處d=*av-x[i];j=i;}第3處returnx[j];2程序修改給定程序MODI1.C中函數fun的功能是:根據整型形參n計算如下公式的值。例如:若n=10,則應輸出: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程序設計程序定義了N×N的二維數組,并在主函數中自動賦值。請編寫函數fun,函數的功能是:使數組右上三角元素中的值乘以fun(inta[][N],intm){inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m;}第42套1程序填空給定程序中,函數fun的功能是:將s所指字符串中的所有數字字符移到所有非數字字符之后,并保持數字字符串和非數字字符串原有的先后次序。第1處j++;第2處s[i]=t1[i];第3處for(i=0;i<j;i++)2程序修改給定程序MODI1.C中函數fun的功能是:用冒泡法對6個字符串按由小到大的順序進行排序。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程序設計請編寫函數fun,它的功能是:求出ss所指字符串中指定字符的個數,并返回此值。intfun(char*ss,charc){intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;}第43套1程序填空給定程序中,函數fun的功能是:在形參ss所指字符串中查找與形參t所指字符串相同的串,找到后返回該串在字符串中的位置(下標值),未找到則返回-1。ss所指字符串數組中共有N個內容不同的字符串,且串長小于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中函數fun的功能是:從整數1到55之間,選出能被3整除、且有一位上的數是5的那些數,并把這些數放在b所指的數組中,這些數的個數作為函數值返回。規定,函數中a1放個位數,a2放十位數。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程序設計假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。voidfun(char*a){char*p=a;while(*p)p++;p--;while(*p==’*’)p--;p++;*p=0;}第44套1程序填空函數fun的功能是進行數字字符轉換。若形參ch中是數字字符‘0’--‘9’,則‘0’轉換成‘9’,‘1’轉換成‘8’,‘2’轉換成‘7’,……‘9’轉換成‘0’;若是其它字符則保持不變;并將轉換后的結果作為函數值返回。第1處charfun(charch)第2處if(ch>=’0’&&ch<=’9’)第3處return‘9’-(ch-‘0’);2程序修改給定程序MODI1.C中函數fun的功能是:將p所指字符串中的所有字符復制到b中,要求復制第三個字符之后插入一個空格。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程序設計N名學生的成績已在主函數中放入一個帶頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,它的功能是:求出平均分,由函數值返回。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程序填空函數fun的功能是:把形參a所指數組中的偶數按原順序依次存放到a[0]、a[1]、a[2]、……中,把奇數從數組中刪除,偶數個數通過函數值返回。第1處if(a[i]%2==0){第2處a[j]=a[i];j++;第3處returnj;2程序修改給定程序AODI1.C中函數fun的功能是:按以下遞歸公司求函數值。例如,當給n輸入5時,函數值為18;當給n輸入3時,函數值為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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論