2023年9月份計算機二級C語言上機題庫_第1頁
2023年9月份計算機二級C語言上機題庫_第2頁
2023年9月份計算機二級C語言上機題庫_第3頁
2023年9月份計算機二級C語言上機題庫_第4頁
2023年9月份計算機二級C語言上機題庫_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE69第一套程序填空程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲了假設(shè)干個學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序〔從小到大排序〕。請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第一處structstudentt;第二處for(i=0;i<n-1;i++)第三處if(strcmp(a[i].name,a[j].name)>0)程序修改給定程序MODI1.C中函數(shù)fun的功能是:在p所指字符串中找出ASCII碼值最大的字符,將其放在第一個位置上;并將該字符前的原字符向上順序移動。/**found**/q=p+i;/**found**/while(q>p)3程序設(shè)計學(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>=1&&a[i].s<=h)b[j++]=a[i];returnj;}第二套程序填空給定程序中已建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點,使之只保存一個。第一處free(q);第二處q=p->next;第三處q=q->next;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對數(shù)組中的n各元素按從小到大的順序進行排序。/**found**/p=j;/**found**/p=i;3.程序設(shè)計請編寫一個fun函數(shù),它的功能是:求出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;}第三套1.程序填空函數(shù)fun的功能是:逆置數(shù)組元素是的值。例如:假設(shè)a所指數(shù)組中的數(shù)據(jù)依次為:1、2、3、4、5、6、7、8、9,那么逆置后依次為:9、8、7、6、5、4、3、2、1。形參n給出數(shù)組中數(shù)組中數(shù)據(jù)的個數(shù)。第一處for(i=0;i<n/2;i++)第二處a[i]=a[n-1-i];第三處a[n-i-1]=t;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將一個由八進制數(shù)字字符串組成的字符串轉(zhuǎn)換為與其面值相等的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進制數(shù)字字符。/**found**/n=*p-‘0’;/**found**/n=n*8+*p-‘0’;3.程序設(shè)計學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號的學(xué)生數(shù)據(jù),指定的學(xué)生號在主函數(shù)中輸入,假設(shè)沒有找到指定學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1,作為函數(shù)值返回?!灿糜谧址葦M的函數(shù)是strcmp〕。STRECfun(STREC*a,char*b){STRECc;Inti;c.num[0]=’\0’;c.s=-1;for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0){strcpy(c.num,a[i].num);c.s=a[i].s;break;}returnc;}第四套程序填空給定程序中,函數(shù)fun的功能是:在帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點。找到后通過函數(shù)值返回該結(jié)點在鏈表中所處的順序號:假設(shè)不存在值為ch的結(jié)點,函數(shù)值返回0.第一處while(p!=0)第二處if(p->data==ch)returnn;第三處k=fun(head,ch);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串的所有空白字符〔包括制表符、回車符及換行符〕。輸入字符串時用‘#’結(jié)束輸入。/**found**/for(i=0,t=0;p[i];i++)/**found**/c[t]=’\0’;3.程序設(shè)計請編寫一個函數(shù)fun,將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫〔假設(shè)該位置上不是字母,那么不轉(zhuǎn)換〕。voidfun(char*ss){inti;for(i=1;i<strlen(ss);i+=2){if(ss[i]>=’a’&&ss[i]<=’z’)ss[i]-=32;}}第五套1.程序填空給定程序中,函數(shù)fun的功能是:計算下式前n項的和作為函數(shù)值返回。例如:當(dāng)形參n的值為10的時,函數(shù)返回:9.6125588。第一處s=0;第二處for(i=1;i<=n;i++)第三處s=s+(2.0*i-1)*(2.0*i+1)/(t*t);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計substr所指字符串在str所指字符串中出現(xiàn)伯次數(shù)。/**found**/for(i=0;str[i];i++)/**found**/if(substr[k+1]==’\0’)3.程序設(shè)計請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求JI的值〔要求滿足精度0.0005,即某項小于0.0005時停止送代〕:程序運行后,如果輸入精度為0.0005,那么程序輸出為3.14…。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);}第六套1.程序填空給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中所有的字母字符順序前移,其他字母順序后移,處理后字符串的首地址作為函數(shù)值返回。第一處t[j]=s[i];j++;第二處for(i=0;i<k;i++)t[j+i]=p[i];第三處t[j+k]=0;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指定字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。/**found**/while(*w)/**found**/if(*r==*p)3.程序設(shè)計函數(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;}第七套程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進行修改,并把a中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。第一處structstudent*fun(structstudent*a)第二處for(i=0;i<3;i++)a->score[i]+=1;第三處returna;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:從N個字符串中找出最長的那個串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放在一個字符串?dāng)?shù)組中。/**found**/char*fun(char(*sq)[M])/**found**/returnsp;3.程序設(shè)計函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量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的功能是:將形參觀者工所指數(shù)組中的前半局部元素中的值和后半局部元素中的值對換。形參n中存放數(shù)組中數(shù)據(jù)的個數(shù),假設(shè)n為奇書,那么中間元素不動。第一處p=(n%2==0)?n/2:n/2+1;第二處a[i]=a[p+i];第三處a[p+i]=t;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:把主函數(shù)中輸入的三個數(shù),最大的放在a中,最小的放在c中,中間的放在b中。/**found**/floatk;/**found**/if(*a<*c)3.程序設(shè)計學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不止一個,函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。intfun(STREC*a,STREC*b){inti,max=a[0].s,n=0;for(i=1;i<N;i++)if(max<a[i].s)max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[n++]=a[i];returnn;}第九套1.程序填空給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值,〔規(guī)定所有數(shù)均為正數(shù)〕,將所指數(shù)組中小于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,大于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。第一處for(i=0;i<N;i++)av+=x[i]/N第二處y[j]=x[i];x[i]=-1;j++;}第三處i++;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計字符串各元音字母〔即:A、E、I、O、U〕的個數(shù)。注意字母不分大小寫。/**found**/num[k]=0;/**found**/switch(*s)3.程序設(shè)計請編寫函數(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;}第十套程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a中的數(shù)據(jù)進行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進行輸出。第一處structstudentfun(structstudenta)第二處strcpy(,〞LiSi〞);第三處a.score[i]+=1;2程序修改假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODI1.C中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。N中存放的是數(shù)列中元素的個數(shù)。/**found**/if(p==n)return-1’/**found**/a[i]=a[i+1];3.程序設(shè)計學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?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;}第十一套1.程序填空給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值,〔規(guī)定所有數(shù)均為正數(shù)〕,將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,小于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。第一處av=s/N;第二處y[j++]=x[i];x[i]=-1;}第三處if(x[i]!=-1)y[j++]=x[i];2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:讀入一行英文文本行,將其中每個單詞的第一個字母改成大寫,然后輸出次文本行〔這里的“單詞〞是指由空格隔開的字符串〕。/**found**/#include<stdio.h>/**found**/upfst(char*p)3.程序設(shè)計程序定義了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;}第十二套1.程序填空給定程序中,函數(shù)fun的功能是:將自然數(shù)1—10以及它們的平方根寫到名為myfile3.txt的文本文件中,然后再順序讀出顯示在屏幕上。第一處fprintf(fp,〞%d%f\n〞,i,sqrt((double)i));第二處fclose(fp);第三處if((fp=fopen(fname,〞r〞))==NULL)2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將n個無序整數(shù)從小到大排序。/**found**/for(i=j+1;i<n;i++)/**found**/p=i;3.程序設(shè)計函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量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的功能是:找出N*N矩陣中每列元素中的最大值,并按順序一次存放于形參b所指的一維數(shù)組中。第一處b[i]=a[0][i];第二處if(b[i]<a[j][i])b[i]=a[j][i];第三處fun(x,y);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:交換主函數(shù)中的兩個變量的值。/**found**/intfun(int*x,int*y)/**found**/t=*x;*x=*y;*y=t;3.程序設(shè)計編寫函數(shù)fun,函數(shù)的功能是求出小于或等于lim的所有素數(shù)并放在aa數(shù)組中,函數(shù)返回所求出的素數(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;}第十四套1.程序填空函數(shù)fun的功能是進行字母轉(zhuǎn)換。假設(shè)形參ch中小寫英文字母,那么轉(zhuǎn)換成相應(yīng)的大寫英文字母;假設(shè)形參ch中是大寫英文字母,那么轉(zhuǎn)換成相應(yīng)的小寫英文字母;并將轉(zhuǎn)換的結(jié)果作為函數(shù)值返回。第一處if((ch>=’a’)&&(ch<=’z’))第二處returnch+’a’-‘A’第三處returnch;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:給一維數(shù)組a輸入任意四個整數(shù)并按以下的規(guī)律輸出。例如輸出1、2、3、4,程序輸出一下方陣。123341223411234/**found**/voidfun(int*a)/**found**/a[j]=a[j-1];3.程序設(shè)計請編寫函數(shù)fun,函數(shù)的功能是:計算并輸出給定整數(shù)n的所有因子〔不包過1和n本身〕之和。規(guī)定n的值不大于1000.intfun(intn){ints=0,i;for(i=2;i<n;i++)if(n%i==0)s+=i;returns;}第十五套1.程序填空給定程序中,函數(shù)的功能是:把形參s所指字符串下標(biāo)為奇數(shù)的字符右移到下一個奇書位置,最右邊唄移出字符串的字符繞回放到第一個奇數(shù)位置,下標(biāo)為偶數(shù)的字符不動〔注:字符串的長度大于等于2〕。例如,形參s所指的字符串為:abcdefgh,執(zhí)行結(jié)果為:ahcbedg。第一處if(n%2==0)k=n-1;第二處c=s[k];第三處s[1]=c;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求s=aa…aa—…—aaa—aa—a〔此處aa…aa表示n個a,a和n的值在1至9之間〕。/**found**/longs=0,t=0;/**found**/t=t/10;3.程序設(shè)計請編寫一個函數(shù)voidfun〔char*tt,intpp[]〕,統(tǒng)計在tt所指字符串中‘a(chǎn)’至‘z’26個小寫字母各自出現(xiàn)在的次數(shù),并依次放在pp數(shù)組中。voidfun(char*tt,intpp[]){char*p=tt;inti;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>=’a’&&*p<=’z’)pp[*p-‘a(chǎn)’]+=1;p++;}}第十六套1.程序填空人員的記錄由編號和出生年、月、日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,且編號唯一。函數(shù)fun的功能是:找出指定編號人員數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,假設(shè)指定編號不存在,返回數(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ù)值返回。/**found**/r++;p++;/**found**/if(*r==0〕3.程序設(shè)計函數(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;}第十七套1.程序填空給定程序中,函數(shù)fun的功能是:統(tǒng)計形參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的功能是:通過某種方式實現(xiàn)兩個變量的交換,規(guī)定不允許增加語句和表達(dá)式。例如變量a中的值原為8,b中的值原為3,程序運行后a中值為3,b中的值為8./**found**/t=*x;*x=y;/**found**/return(t);3.程序設(shè)計請編寫函數(shù)fun,函數(shù)的功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。#include<stdio.h>viodfun(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;}第十八套1.程序填空給定程序中,函數(shù)fun的功能是:有N×N矩陣,根據(jù)給定的m〔m<=n〕值,將每行元素中的值均右移m個位置,左邊值為0.第1處for(i=0;i<N;i++)第2處t[i][j+m]=t[i][j];第3處for(j=0;j<m;j++)2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出high以內(nèi)最大的10個素數(shù)之和。high的值由主函數(shù)傳給fun函數(shù)。/**found**/while((2<=high)&&(n<10))/**found**/yes=0;break;3.程序設(shè)計請編寫函數(shù)fun,函數(shù)的功能是:利用一下所示的簡單迭代方法求方程求方程:cos〔x〕-x=0的一個實根。xn+1=cos〔xn〕迭代步驟如下:〔1〕取x1的初值為0.0;〔2〕x0=x1,把x1的值賦給x0;〔3〕x1=cos〔x0〕,求出一個新的x1;〔4〕假設(shè)x0-x1的絕對值小于0.000001執(zhí)行步驟〔5〕否那么執(zhí)行步驟〔2〕;〔5〕所求x1就是方程cos〔x〕-x=0的一個實根作為函數(shù)值返回。程序?qū)⑤敵鼋Y(jié)果為:Root=0.739058。floatfun(){floatx0,x1=0.0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);returnx1;}第十九套1.程序填空給定程序中,函數(shù)fun的功能是:將a所指的3×5矩陣中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原來左邊的各列依次繞到右邊。第1處for(p=1;p<=k;p++)第2處for(j=0;j<N-1;j++)a[i][j]=a[i][j+1];第3處a[i][N-1]=temp;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)形參m的值〔2<=m<=9〕,在m行m列的二維數(shù)組中存放如下所示規(guī)律的數(shù)據(jù),由main函數(shù)輸出。例如,假設(shè)輸入2那么輸出:24/**found**/fun(inta[][M],intm)/**found**/a[j][k]=(k+1)*(j+1);3.程序設(shè)計函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量c的個位和百位上。voidfun(inta,intb,int*c){*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);}第二十套1.程序填空給定程序中,函數(shù)fun的功能是:對形參s所指字符串中下標(biāo)為奇數(shù)的字符ASCII碼大小遞增排序,并將排序后的下標(biāo)為奇數(shù)的字符取出,形成一個新串。第1處t=i;第2處for(j=i+2;j<n;j=j+2)第3處p[j]=0;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:用下面的公式求π的近似值,知道最后一項的近似值小于指定數(shù)〔參數(shù)num〕為止:例如程序0.0001,那么程序輸出3.1414。/**found**/while((fabs(t))>=num)/**found**/t=s/n3.程序設(shè)計請編寫一個函數(shù)voidfun〔chara[],charb[],intn〕,其功能是:刪除一個字符串指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串放在b所指的n中存入指定的下標(biāo)。viodfun(chara[],charb[],intn〕{strncpy(b,a,n);b[n]=0;strcat(b,a+n+1);}第二十一套1.程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長超過k的字符串右邊的字符刪去,只保存左邊的k個字符。ss所指字符串?dāng)?shù)組中共有N個字符串,且串小于M。第一處voidfun(char(*ss)[M],intk)第二處while(i<N){第三處ss[i][k]=0;i++;}2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求π值,并作為函數(shù)值返回。例如,給指定精度的變量eps輸入0.0005時,應(yīng)當(dāng)輸出Pi=30140578.。/**found**/t=1;/**found**/return(2*s);3.程序設(shè)計假定輸入字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號不得多于n個;假設(shè)多于n個,那么刪除多余的*號;假設(shè)少于或等于n個,那么什么也不做,字符串中間和尾部的*號不刪除。函數(shù)fun中給出的語句僅供參考。voidfun(char*a,intn){inti=0,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;}}第二十二套1.程序填空給定程序中,函數(shù)fun的功能是:a所指4×3矩陣中第k行的元素與第0行元素交換。例如:有以下矩陣23456789101112假設(shè)k為2,程序執(zhí)行結(jié)果為789456123101112第一處voidfun(int(*a)[N],intk)第二處for(i=0;i<N;i++)第三處a[0][i]=a[k][i];2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:讀入一個字符串〔長度<20〕,將該字符串中的所有字符串按ASCII碼升序排序后輸出。例如,假設(shè)輸入edcba,那么應(yīng)輸出:abcde。/**found**/for(i=strlen(t)-1;i;i--)/**found**/if(t[j]>t[j+1])3.程序設(shè)計請編寫函數(shù)fun,函數(shù)的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫〔假設(shè)該位置上不是字母,那么不轉(zhuǎn)換〕。voidfun(char*ss){char*p=ss;inri=0;while(*p){if((i%2)&&(*p>=’a’&&*p<=’z’))*p-=32;p++;i++;}}第二十三套1.程序填空給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時函數(shù)的返回值是1,失敗是返回值是0.在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)源文件名放在變量sfname中,目標(biāo)文件放在變量tfname中。第一處if((fs=fopen(source,〞r〞))==NULL)第二處while(!feof(fs))第三處fputc(ch,ft);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將長整型中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。/**found**/if(d%2==0)/**found**/s/=10;3.程序設(shè)計函數(shù)fun的功能是:將兩位正整數(shù)a、b合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量c的百位和個位上。voidfun(inta,intb,long*c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第二十四套程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號和姓名,最后輸出修改后的數(shù)據(jù)。第一處b=a;第二處strcpy(,〞LiSi〞)第三處for(i=0;i<3;i++)printf(“%6.2f〞,b.score[i]);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計算出正確的結(jié)果。/**found**/s[j++]=s[i];/**found**/s[j]=’\0’;3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號全部移到字符串的尾部。函數(shù)fun中給出的函數(shù)僅供參考。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’;}第二十五套1.程序填空用篩選法可得到2—n〔n<10000〕之間的所有素數(shù),方法是:首先從素數(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的素數(shù),并統(tǒng)計素數(shù)的個數(shù)作為函數(shù)值返回。第一處for(j=a[i]*2;j<=n;j+=a[i])第二處while(a[i]==0)第三處if(a[i]!=0)2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:為一個偶數(shù)尋找兩個素數(shù),這兩個素數(shù)之和等于該偶數(shù),并將這兩個素數(shù)通過形參指針傳回主函數(shù)。/**found**/y=1;/**foune**/d=a-i;3.程序設(shè)計請編寫函數(shù)fun,它的功能是:計算并輸出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;}第二十六套1.程序填空給定程序中,函數(shù)fun的功能是建立一個N×N的矩陣。矩陣元素的構(gòu)成規(guī)律是:最外層元素的值全部是1;從外向內(nèi)第二層元素的值全部為2;第三層元素的值全部是3,…依此類推。第一處voidfun(int(*a)[N])第二處for(j=i;j<N-i;j++)第二處a[k][i]=a[k][N-i-1]=i+1;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將十進制正整數(shù)m轉(zhuǎn)換成k〔2<=k<=9〕進制數(shù),并按高位到低位順序輸出。/**found**/aa[i]=m%k;/**found**/printf(“%d〞,aa[i-1]);3.程序設(shè)計編寫一個函數(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];}第二十七套1.程序填空函數(shù)fun的功能是計算f〔x〕=1+x-2/2!+3/3!-4/4!+……的前n項和。假設(shè)x=2.5,n=15時,函數(shù)值為1.917914。第一處f=1;第二處t*=(-1)*x/i;第三處f+=t;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:從三個紅球,5個白球,6個黑球中任意取出8個作為一組,進行輸出。在沒組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是15.程序中i的值代表紅球數(shù),j代表白球數(shù),k代表黑球數(shù)。/**found**/for(i=1;i<=3;i++)/**found**/if(k>=0&&k<=6)3.程序設(shè)計請編寫函數(shù)fun,它的功能是:計算并輸出以下多項式的值:sn=1+1/1!+1/2!+1/3!+1/4!+……1/n!。例如:在主函數(shù)中從鍵盤給n輸入15,那么輸出為:s=2.718282。注意:要求n的值大于1但不大于100。doublefun(intn){doubles=1’longt=1;inti;for(i=1;i<=n;i++){t=t*i;s+=1.0/t;}returns;}第二十八套1.程序填空給定程序中,函數(shù)fun的功能是:計算N*N矩陣的主對角線元素和方向?qū)蔷€元素之和,并作為函數(shù)值返回。注意:要求先累加主對角線元素中的值,然后累加反響對角線元素的值。第一處sum=0;第二處sum+=t[i][i];第三處sum+=t[i][n-i-1];2.程序修改給定程序MODI1.C中函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個根,并要求絕對誤差不超過0.001。/**found**/doubler;/**found**/while(fabs(n-m)>0.001)3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了字符串前導(dǎo)和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串中的第一個字母,形參p已指向字符串中最后一個字母。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。voidfun(char*a,char*h,char*p){intj=0;char*q=a;while(*q&&q<h)a[j++]=*q++;while(*h&&*p&&h<p){if(*h!=’*’)a[j++]=*h;h++;}while(*p)a[j++]=*p++;a[j]=0;}第二十九套1.程序填空給定程序中,函數(shù)fun的功能是:有N*N矩陣,將矩陣的外圍元素順時針旋轉(zhuǎn)。操作的順序是:首先將第一行元素的值存入臨時數(shù)組r,然后使第一列成為第一行,最后一行成為第一列,最后一列成為第一行,臨時數(shù)組中和元素成為最后一列。第一處t[0][N-j-1]=t[j][0];第二處for(j=N-1;j>=0;j--)第三處t[j][N-1]=r[j];2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:計算s=f〔-n〕+f〔-n+1〕+……+f〔0〕+f〔1〕+f〔2〕+……f〔n〕的值。例如,當(dāng)n為5時,函數(shù)值應(yīng)該是:10.407143。/**found**/doublef(doublex)/**found**/returns;3.程序設(shè)計編寫一個函數(shù)fun,它的功能是計算:s=根號下〔ln〔1〕+ln〔2〕+ln〔3〕+……ln〔m〕〕S作為函數(shù)返回,在C語言中可以調(diào)用log〔n〕求ln〔n〕。log函數(shù)引用說明是:Doublelog〔doublex〕例如,假設(shè)m的值為:20,fun函數(shù)值為:60506583。doublefun(intm){doubles=0.0;inti;for(i=0;i<=m;i++)s+=log(1.0*i);s=sqrt(s);returns;}第三十套1.程序填空函數(shù)fun的功能是:反形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a[0]、a[1]、a[2]……中,把偶數(shù)從數(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。第一處if(a[i]%2==1)第二處j++;第三處returnj;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。/**found**/t=a;a=b;b=t;/**found**/return(b);3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a){intj=0;char*p=a;while(*p){if(*p!=’*’)a[j++]=*p;p++;}a[j]=0;}第三十一套1.程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個數(shù)。Ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。第一處for(i=0;i<N;i++)第二處if(len<=k)第三處strcpy(ss[j++],ss[i]);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:逐個比擬p、q所指兩個字符串對應(yīng)位置中的字符,把ASCII值或相等的字符依次存放在c所指數(shù)組中,形成一個新的字符串。/**found**/intk=0;/**found**/while(*p||*q)3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(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’;}第三十二套1.程序填空給定程序中已建立一個帶頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按結(jié)點數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點并插入到鏈表中,插入后各結(jié)點數(shù)據(jù)域的值仍保持遞增有序。第一處s->data=x;第二處q=p;第三處q->next=s;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:計算正整數(shù)num的各位上的數(shù)字之積。/**found**/longk=1;/**found**/num/=103.程序設(shè)計請編寫函數(shù)fun,它的功能是:計算n門課程的平均分,計算結(jié)果作為函數(shù)返回。floatfun(float*a,intn){inti;floatave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;returnave;}第三十三套1.程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,查找含有形參substr所指子串的所有字符串并輸出,假設(shè)沒找到輸出相應(yīng)信息。Ss所指字符串?dāng)?shù)組中共有N個字符,且串長小于M。程序中庫函數(shù)strstr〔s1、s2〕的功能是早s1串中查找s2子串,假設(shè)沒有,函數(shù)值為0,假設(shè)有,為非0。第一處for(i=0;i<N;i++)第二處if(strstr(ss[i],substr)!=NULL)第三處if(find==0)2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。/**found**/fun(intx,inty,intz)/**found**/returnj;3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(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;}第三十四套1.程序填空給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符串相同的串,找到后返回該串在字符串中的位置〔下標(biāo)值〕,未找到那么返回-1。ss所指字符串?dāng)?shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。第一處for(i=0;i<N;i++)第二處if(strcmpss[i],t)==0returni;第三處if(n==-1)printf(“\nDon’tfound!\n〞);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:從整數(shù)1到55之間,選出能被3整除、且有一位上的數(shù)是5的那些事,并且把這些數(shù)放在b所指的數(shù)組中,這些數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個位數(shù),a2放十位數(shù)。/**found**/a2=k/10;/**found**/returni;3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。voidfun(char*a){char*p=a;while(*p)p++;p--;while(*p==’*’)p--;p++;*p=0;}第三十五套1.程序填空給定程序中,函數(shù)fun的功能是:統(tǒng)計出帶有頭結(jié)點的單向鏈表中結(jié)點的個數(shù),存放在形參n所指的存儲單元中。第一處*n=0;第二處p=p->next;第三處fun(head,&num);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出s所指字符串最后一次出現(xiàn)的t所指字符串的地址,通過函數(shù)值返回,在主函數(shù)中輸出從此地址開始的字符串;假設(shè)未找到,那么函數(shù)值NULL。/**found**/a=NULL;/**found**/if(*r==*p)3.程序設(shè)計函數(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;}第三十六套1.程序填空函數(shù)fun的功能是:進行數(shù)字字符轉(zhuǎn)換。假設(shè)形參ch中是數(shù)字字符‘0’—‘9’,那么‘0’轉(zhuǎn)換成‘9’,‘1’轉(zhuǎn)換成‘8’,‘2’轉(zhuǎn)換成‘7’,……‘9’轉(zhuǎn)換成‘0’;假設(shè)是其他字符那么保持不變,并將轉(zhuǎn)換后的結(jié)果做函數(shù)值返回。第一處charfun(charch)第二處if(ch>=’0’&&ch<=’9’)第三處return‘9’-(ch-‘0’);2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:將p所指字符串中所有字符復(fù)制到b中,要求復(fù)制第三個字符之后插入一個空格。/**found**/b[k]=*p;/**found**/b[k++]=’‘;3.程序設(shè)計N名學(xué)生的成績已在主函數(shù)中放入一個帶頭結(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭結(jié)點。請編寫函數(shù)fun,它的功能是:求出平均分,有函數(shù)值返回。doublefun(STREC*h){STREC*p=h->next;doubleav=0.0;intn=o;while(p!=NULL){av=av+p->s;p=p->next;n++;}av/=n;returnav;}第三十七套1.程序填空函數(shù)fun的功能是:把形參a所指數(shù)組中的偶數(shù)按原順序依次存放a[0]、a[1]、a[2]……中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個數(shù)通過函數(shù)值返回。第一處if(a[i]%2==0){第二處a[j]=a[i];j++;第三處returnj;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:按以下遞推公式求函數(shù)值。例如,當(dāng)給n輸出5時,函數(shù)值為18;當(dāng)給n輸入3時,函數(shù)值為14./**found**/fun(intn)/**found**/if(n==1)3.程序設(shè)計假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:使字符串中尾部的*號不得多于n個;假設(shè)多于n個那么刪除多余的*號;假設(shè)少于或等于n個,那么什么也不做,字符串中間和前面的*號不刪除。voidfun(char*a,intn){char*p=a;intj=0;while(*p)p++;p--;while(*p==’*’)p--;p++;while(j<n&&*p){p++;j++;}*p=0;}第三十八套1.程序填空給定程序中,函數(shù)fun的功能是:利用指針數(shù)組對形參ss所指字符串?dāng)?shù)組中的字符串按由長到短的順序排列,并輸入排序結(jié)果。ss所指定字符串?dāng)?shù)組中共有N個字符串,且串長小于M。第一處k=i第二if(strlen(ps[k])<strlen(ps[j]))k=j;第三處tp=ps[i];ps[i]=ps[k];ps[k]=tp;2.程序修改一個數(shù)列從第0項開始的前三項分別是0、0、1以后的各項都是它相鄰的前三項之和。給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出該數(shù)列前n項的平方根之和。n的值通過形參傳入。/**found**/doublefun(intn)/**found**/returnsum;3.程序設(shè)計請編寫函數(shù)fun,它的功能是:計算以下級數(shù)和,和值由函數(shù)值返回。例如,當(dāng)n=10,x=0.3時,函數(shù)值為1.349859。doublefun(doublex,intn){doubles=1.0,y=x;inti;for(i=1;i<=n;i++){s+=y/(double)jc(i);y*=x;}returns;}第三十九套1.程序填空給定程序中,函數(shù)fun的功能是:計算x所指數(shù)組中N個數(shù)的平均值〔規(guī)定所有數(shù)均為正數(shù)〕,平均值通過形參返回主函數(shù),將小于平均值且最接近平均值的數(shù)作為函數(shù)值返回,在主函數(shù)中輸出。第一處*av=s/N;第二處d=*av-x[i];j=i;}第三處returnx[j];2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整型形參n計算如下公式的值。例如:假設(shè)n=10,那么應(yīng)輸出:0.617977./**found**/floatfun(intn)/**found**/for(i=2;i<=n;i++)3.程序設(shè)計程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值,請編寫函數(shù)fun,它的功能是:使數(shù)組右上三角元素中的值乘以fun(inta[][N],intm){inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m;}第四十套1.程序填空給定程序中,函數(shù)fun的功能是:將s所指字符串所有數(shù)字字符移到所有非數(shù)字字符之后,并保持?jǐn)?shù)字字符串和非數(shù)字字符串原有的先后次序。第一處j++;第二處s[i]=t1[i];第三處for(i=0;i<j;i++)2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:用冒泡法對6個字符串按由小到大的順序排列。/**found**/for(j=i+1;j<6;j++)/**found**/*(pstr+i)=*(pstr+j);3.程序設(shè)計請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符個數(shù),并返回次值。intfun(char*ss,charc){intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;}第四十一套1.程序填空給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中的數(shù)字字符轉(zhuǎn)換成對應(yīng)的數(shù)值,計算出這些數(shù)值的累加和作為函數(shù)值返回。第1處if(isdigit(*s))sum+=*s-48;第2處s++;第3處returnsum;2.程序修改給定程序MODI1.C中函數(shù)fun的功能是:計算小于形參k的最大的10個能被13或17整除的自然數(shù)之和。K的值由主函數(shù)傳入,假設(shè)K的值為500.那么主函數(shù)為4622。/**found**/if((k%13==0││(k%17==0))/**found**/}3.程序設(shè)計請編寫函數(shù)fun,它的功能是:求小于形參n同時能被3和7整除的所有自然數(shù)之和的平方根,并作函數(shù)的返回值。doublefun(intn){doublesum=0.0;inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);}第四十二套1程序填空給定程序中,函數(shù)fun的功能是:將不帶頭結(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序。即假設(shè)原鏈表節(jié)點數(shù)據(jù)域從頭到位的數(shù)據(jù)為10、4、2、8、6,排序后鏈表結(jié)點數(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〕,其它字符不變。/**found**/while(*s)/**found**/s++;3程序設(shè)計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è)是,函數(shù)返回值是1;不是,函數(shù)返回值為0.“幻方〞的判定條件是:矩陣每行、每列、主對角線及反對角線上元素之和都相等。第1處row=colum=0;第2處if((row!=colum)││(row!=m1))return0;第3處return1;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整型形參m計算如下公式的值。/**found**/t=t-1.0/i;/**found**/returnt;3程序設(shè)計請編寫一個函數(shù),函數(shù)的功能是:刪除字符串中所有的空格。intfun(char*str){char*p=str;inti=0;while(*p){if(*p!=’’)str[i++]=*p;p++;}str[i]=0;}第四十四套1程序填空給定程序中,函數(shù)fun的功能是:將N乘以N矩陣中元素的值按列右移一個位置,右邊被移出矩陣的元素繞回左邊。第1處for(i=0;i<N;i++)第2處x=t[i][N-1];第3處t[i][0]=x;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出以下級數(shù)的前n項的和Sn,直到Sn+1大于q為止,q的值通過形參傳入。/**found**/s=s+(n+1.0)/n;/**found**/returnt;3程序編寫編寫函數(shù)fun,它的功能是:求Fibonacci數(shù)列中大于t的最小一個數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列F〔n〕定義為F(0)=0,F(1)=1,F(n)。。。intfun(intt){intf0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);returnf;}第四十五套1程序填空給定程序中,函數(shù)fun的功能是將帶頭結(jié)點的單向鏈表逆置。即假設(shè)原鏈表中從頭至尾結(jié)點數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結(jié)點數(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ù)的功能是:計算s所指字符串中含有t所指字符串的數(shù)目,并作為函數(shù)值返回。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。/**found**/r=t;/**found**/if(*r==0)3程序設(shè)計請編寫函數(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的功能是:將形參s所指字符串所有ASCII碼小于97的字符存入形第1處*(t+n)=*s;n++;}第2處s++;第3處returnn;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:由形參給定n個實數(shù),輸出平均值以上〔含平均值〕的實數(shù)個數(shù)。/**found**/intj,c=0;floatxa=0.0;/**found**/if(x[j]>=xa)3程序設(shè)計編寫函數(shù)fun,其功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個正整數(shù)且要求m>n。p=m!/(n!*(m-n)!)floatfun(intm,intn){floatp;p=1.0*jc(m)/jc(n)/jc(m-n);returnp;}第四十七套1程序填空函數(shù)fun的功能是:計算f(x)=1+x-x2∕2!+x3∕3!-X4/4!直到∣xn/n!∣<10-6假設(shè)x=2.5,函數(shù)值為:1.917915。第1處t=x第2處t*=(-1.0)*x/n;第3處while(fabs(t)>=1e-6)2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求整數(shù)x的y次方的低3位值。例如,整數(shù)5的6次方為15625,此值的低3位值為625。/**found**/for(i=1;i<=y;i++)/**found**/t=t%1000;3程序設(shè)計請編寫函數(shù)fun,其功能是:計算并輸出當(dāng)x﹤0.97時以下多項式的值,直到Sn-Sn-1<0.000001為止。doublefun(doublex){intn=1;doublesn=1;doublexn=1,xn1=0;while(fabs(xn-xn1)>=0.000001){xn=xn*x*(0.5-n+1)/n;n+=1;sn+=xn;}return(sn);}第四十八套1程序填空給定程序中,函數(shù)fun的功能是:計算出帶有頭節(jié)點的單向鏈表中各節(jié)點數(shù)據(jù)域中值之和作為函數(shù)值帶回。第1處s+=p->data;第2處p=p->next;第3處printf(“\nsum=%d\n〞,fun(head));2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符串相同的子串全部替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。/**found**/while(*r)/**found**/*a=*r;a++;r++;3程序設(shè)計函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=1;i<strlen(s);i+=2)t[j++]=s[i];t[j]=0;}第四十九套1程序填空給定程序中,函數(shù)fun的功能是:把形參s所知字符串中最左邊的n個字符復(fù)制到形參t所指字符數(shù)組中,形成一個新串,假設(shè)s所指字符串的長度小于n,那么將整個字符串復(fù)制到形參t所指字符數(shù)組中。第1處if(n>=len)strcpy(t,s);第2處t[j++]=s[i];第3處t[j]=0;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:找出一個大于形參m且緊隨m的素數(shù),并作為函數(shù)值帶回。/**found**/if(i%k==0)/**found**/if(k>=i)3程序設(shè)計編寫函數(shù)fun,它的功能是:求出能整除形參x切不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。voidfun(intx,intpp[],int*n){inti;*n=0;for(i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;}第五十套1程序填空給定程序中,函數(shù)fun的功能是:將形參s所知字符串中的所有數(shù)字字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數(shù)值返回。第1處p[j]=s[i];j++;}第2處for(i=0;i<k;i++)p[j+i]=t[i];第3處returnp;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符,按排列的順序交叉合并到c所指數(shù)組中,過長的剩余字符接在c所指數(shù)組的尾部。/**found**/while(i<j)/**found**/if(*a)3程序設(shè)計函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)同時ASCII值為奇數(shù)的字符刪除,s所指串中剩余的字符形成的新串放在t所指的數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}第五十一套1程序填空給定程序中,函數(shù)fun的功能是:計算下式s=1/22+3/42+5/62…+(2×n-1)/(2×n)2直到︱〔2×n-1〕/〔2×n〕2︱?10-3并把計算結(jié)果作為函數(shù)值返回。例如,假設(shè)形參e的值le-3,函數(shù)值的返回值為2.735678。第1處i=0;第2處i++;第3處x=(2.0*i-1)/((2.0*i)*(2.0*i));2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串的正序和反序進行連接,形成一個新串放在t所指的數(shù)組中。/**found**/voidfun(char*s,char*t)/**found**/t[2*d]=’\0’;3程序設(shè)計函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)為奇數(shù)、同時ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。viodfun(char*s,chatt[]){inti,j=0;for(i=1;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]=0;}第五十二套1程序填空給定程序中,函數(shù)fun的功能是:在3×4的矩陣中找出在行上最大,列上最小的那個元素,假設(shè)沒有符合條件的元素那么輸出相應(yīng)信息。第1處max=a[i][j];c=j;}第2處find=0;第3處i++;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整形形參m的值:計算如下公式的值?……例如:假設(shè)m中的值為5,那么應(yīng)輸出:0.536389。/**found**/for(i=2;i<=m;i++)/**found**/y-=1.0/(i*i);3程序設(shè)計m個人的成績存放在score數(shù)組中,請編寫函數(shù)fun,它的功能是:將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。intfun(intscore[],intm,intbelow[]){floatav=0.0;inti,j=0;for(i=0;i<m;i++)av+=score[i];av/=m;for(i=0;i<m;i++)if(av>score[i])below[j++]=score[i];returnj;}第五十三套1程序填空給定程序中,函數(shù)fun的功能是將形參指針?biāo)附Y(jié)構(gòu)體數(shù)組中的三個元素按num成員進行升序排列。第1處voidfun(PERSON*std)第2處PERSONtemp;第3處fun(std);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將m〔1≦m≦10〕個字符串連接起來,組成一個新串,放入pt所指存儲區(qū)中。/**found**/intk,q,i;/**found**/pt[i]=str[k][i];3程序設(shè)計程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun〔inta[][N]〕,函數(shù)的功能是:使數(shù)組左下三角元素中的值全部置成0。intfun(inta[][N]){inti,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;}第五十四套1程序填空給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值〔規(guī)定所有數(shù)均為正數(shù)〕,作為函數(shù)值返回,并將大于平均值的數(shù)放在形參Y所指數(shù)組中,在主函數(shù)中輸出。第1處av=0;第2處av=av+x[i]/N;第3處y[j++]=x[i];2程序修改給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整形形參m,計算如下公式的值。/**found**/doublefun(intm)/**found**/for(i=100;i<=m;i+=100)3程序設(shè)計學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中,輕便鞋函數(shù)的功能是:找出成績最低的學(xué)生記錄,通過形參返回主函數(shù)〔規(guī)定只有一個最低分〕fun(STUa[],STU*s){inti,min=a[0],s,j=0;for(i=1;i<N;i++)if(min>a[i].s){j=i;min=a[i].s;}*s=a[j];}第五十五套1程序填空給定程序中,函數(shù)fun的功能是:判斷形參s所指字符串是否是“回去〞〔Palindrome〕假設(shè)是,函數(shù)返回值為1;不是,函數(shù)返回值為0,“回文〞是正讀和反讀都是一樣的字母串〔不區(qū)分大小寫字母〕。第1處1p=s;第2處1p++;rp--;}第3處if(1p<rp)return0;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出以下分?jǐn)?shù)序列的前n項之和。2/1+3/2+5/3+8/5+13/8+21/13+……和值通過函數(shù)值返回main函數(shù)。例如n=5,那么應(yīng)輸出:8.391667。/**found**/doublefun(intn)/**found**/c=a;a+=b;b=c;3程序設(shè)計請編寫函數(shù)fun,函數(shù)的功能是:將大于形參m且緊靠m的k個素數(shù)存入xx所指的數(shù)組中。19,23,29,31,37,函數(shù)fun中給出的語句僅供參考。voidfun(intm,intk,intxx[]){inti,j=1,t=m+1;while(j<=k)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論