




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一套1.以下給定程序中,函數(shù)fun的功能是計算如下公式直到,并且把計算結(jié)果作為函數(shù)值返回。例如,假設(shè)形參e的值為1e-3,那么函數(shù)返回值為0.551690。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)3.0或(double)3(2)>(3)(t+1)2.以下給定程序中函數(shù)fun的功能是:求出如下分數(shù)序列的前n項之和。和值通過函數(shù)值返回。例如,假設(shè)n=5,那么應(yīng)輸出8.391667。請改正程序中的錯誤,使其得出正確的結(jié)果。(1)doublefun(intn)(2)s=s+(double)a/b;3.請編寫函數(shù)fun,其功能是:找出2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。intfun(inta[][M]){inti,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];returnmax;}第二套1.以下給定程序中,函數(shù)fun的功能是:計算如下公式前n項的和并作為函數(shù)值返回。例如,當(dāng)形參n的值為10時,函數(shù)返回值為9.612558。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)0(2)n(3)(t*t)2.以下給定程序中函數(shù)fun的功能是:統(tǒng)計substr所指的子符串在str所指的字符串中出現(xiàn)的次數(shù)。例如,假設(shè)字符串為aaas1kaaas,子字符串為as,那么應(yīng)輸出2。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)for(i=0;str[i];i++)(2)if(substr[k+1]==′\0′)3.編寫函數(shù)fun,其功能是:根據(jù)以下公式求π的值(要求精度0.0005,即某項小于0.0005時停止迭代)?!?。doublefun(doubleeps){doubles=1.0,s1=1.0;intn=1;while(s1>=eps)/*當(dāng)某項大于精度要求時,繼續(xù)求下一項*/{s1=s1]s=s+s1;/*求和*/n++;}return2]第三套1.給定程序中,函數(shù)fun的功能是:統(tǒng)計形參s所指的字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。例如,假設(shè)形參s所指的字符串為abcdef35adgh3kjsdf7,那么輸出結(jié)果為4。請在下劃線處填入正確內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)s[i](2)'9'(3)*t=n2.以下給定程序中函數(shù)fun的功能是:實現(xiàn)兩個變量值的交換,規(guī)定不允許增加語句和表達式。例如,變量a中的值原為8,b中的值原為3,程序運行后a中的值為3,b中的值為8。請改正程序中的錯誤,使它得出正確的結(jié)果。(1)t=*x;*x=y(tǒng);(2)return(t);或returnt;3.編寫函數(shù)fun,其功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。voidfun(int*a,int*n){inti,j=0;for(i=1;i<=1000;i++)/*求1到1000之內(nèi)能被7或11整除但不能同時被7和11整除的所有整數(shù),并放入數(shù)組a中*/if((i%7==0||i%11==0)&&i%77?。?)a[j++]=i;*n=j(luò);/*傳回滿足條件的數(shù)的個數(shù)*/}第四套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。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)1(2)j++(3)j2.以下給定程序中函數(shù)fun的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,假設(shè)num1和num2分別為49和21,那么輸出的最大公約數(shù)為7;假設(shè)num1和num2分別為27和81,那么輸出的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結(jié)果。(1) t=a;a=b;b=t;(2) return(b);或returnb;3.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后字符串中的內(nèi)容應(yīng)當(dāng)是:ABCDEFG。voidfun(char*a){inti,j=0;for(i=0;a[i]!=′\0′;i++)if(a[i]!=′*′)a[j++]=a[i];/*假設(shè)不是要刪除的字符′*′那么留下*/a[j]=′\0′;/*最后加上字符串結(jié)束符′\0′*/}第五套1.以下給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來從高位到低位相反的順序組成一個新數(shù),作為函數(shù)值返回。例如,輸入一個整數(shù)27638496,函數(shù)返回值為64862。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)0(2)10]2.以下給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)*t=0; (2)if(d%2?。?)或if(d%2==1)3.編寫函數(shù)fun,其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串的后面。例如,分別輸入下面兩個字符串:FirstString--SecondString程序輸出:FirstString--SecondStringvoidfun(charp1[],charp2[]){inti,j;for(i=0;p1[i]!=′\0′;i++); /*求出的i為p1字符串的總長度,包括結(jié)束標記符*/for(j=0;p2[j]?。健鋅0′;j++)p1[i++]=p2[j];/*將p2字符串連在p1字符串后面*/p1[i]=′\0′;/*在字符串最后加上結(jié)束標記符*/}第六套1.以下給定程序中,函數(shù)fun的功能是:把形參a所指數(shù)組中的最小值放在元素a[0]中,接著把a所指數(shù)組中的最大值放在a[1]元素中;再把a所指數(shù)組元素中的次小值放在a[2]中,把a所指數(shù)組元素中的次大值放在a[3],以此類推。例如,假設(shè)a所指數(shù)組中的數(shù)據(jù)最初排列為:9、1、4、2、3、6、5、8、7;那么按規(guī)那么移動后,數(shù)據(jù)排列為:1、9、2、8、3、7、4、6、5。形參n中存放a所指數(shù)組中數(shù)據(jù)的個數(shù)。規(guī)定fun函數(shù)中的max存放當(dāng)前所找的最大值,px存放當(dāng)前所找最大值的下標。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)a[i](2)a[j](3)a[j]2.以下給定程序中函數(shù)fun的功能是:用遞歸算法計算斐波拉契數(shù)列中第n項的值。從第1項起,斐波拉契數(shù)列為:1、1、2、3、5、8、13、21、……例如,假設(shè)給n輸入7,那么該項的斐波拉契數(shù)值為13。請改正程序中的錯誤,使它能得出正確結(jié)果。(1) 去掉分號(2) case1:case2:return1;3.某學(xué)生的記錄由學(xué)號、8門課程成績和平均分組成,學(xué)號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。例如,學(xué)生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,那么他的平均分應(yīng)為78.875。voidfun(STREC*a){inti;a->ave=0.0;for(i=0;i<N;i++)a->ave=a->ave+a->s[i];/*求各門成績的總和*/a->ave=a->ave/N;/*求平均分*/}第七套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ù)值返回。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1) char(2)ch<='9'(3)'0'2.以下給定程序中函數(shù)fun的功能是:將p所指字符串中的所有字符復(fù)制到b中,要求每復(fù)制三個字符之后插入一個空格。例如,假設(shè)給a輸入字符串:ABCDEFGKHIJK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:ABCDEFGHIJK。請改正程序中的錯誤,使它能得出正確結(jié)果。(1) b[k]=*p;(2) b[k]=′′;k++;3.N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,其功能是:求出平均分,并由函數(shù)值返回。例如,假設(shè)學(xué)生的成績是:8576698591726487,那么平均分應(yīng)當(dāng)是:78.625。doublefun(STREC*h){doubleav=0.0;STREC*p=h->next;/*p直接指向"頭結(jié)點"的下一個結(jié)點,即第一個成績*/while(p?。絅ULL){av=av+p->s;/*求總分數(shù)*/p=p->next;}returnav/N;/*返回平均值*/}第八套1.以下給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長度最短的字符串所在的行下標,作為函數(shù)值返回,并把其串長放在形參n所指的變量中。ss所指字符串?dāng)?shù)組中共有M個字符串,且串長<N。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)M(2)<(3)k2.以下給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對應(yīng)的大寫字母,其它字符不變。例如,假設(shè)輸入"Ab,cD",那么輸出"AB,CD"。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)if((tt[i]>=′a′)&&(tt[i]<=′z′)(2)tt[i]-=32;3.編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素數(shù)存入xx所指數(shù)組中,非素數(shù)的個數(shù)通過k返回。例如,假設(shè)輸入17,那么應(yīng)輸出:46891012141516。voidfun(intm,int*k,intxx[]){inti,j,n=0;for(i=4;i<m;i++)/*找出大于1小于整數(shù)m的非素數(shù)*/{for(j=2;j<i;j++)if(i%j==0)break;if(j<i)xx[n++]=i;}*k=n;/*返回非素數(shù)的個數(shù)*/}第九套1.以下給定程序中,函數(shù)fun的功能是:將s所指字符串中的所有數(shù)字字符移到所有非數(shù)字字符之后,并保持數(shù)字字符串和非數(shù)字字符串原有的次序。例如,s所指的字符串為def35adh3kjsdf7,執(zhí)行后結(jié)果為defadhajsdf3537。請在程序的下劃線處填入正確的內(nèi)容把下劃線刪除,使程序得出正確的結(jié)果。(1)j++或j+=1或++j或j=j(luò)+1(2)s[i]=t1[i](3)j2.以下給定程序中函數(shù)fun的功能是:用冒泡法對6個字符串進行升序排列。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)for(j=I+1;j<6;j++)(2)(pstr+I)=*(pstr+j);3.編寫函數(shù)fun,其功能是:求ss所指字符串中指定字符的個數(shù),并返回此值。例如,假設(shè)輸入字符串123412132,輸入字符為1,那么輸出3。intfun(char*ss,charc){inti=0;for(;*ss!=′\0′;ss++)if(*ss==c)i++;/*求出ss所指字符串中指定字符的個數(shù)*/returni;}第十套1.以下給定程序中已建立一個帶頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按結(jié)點數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點并插入鏈表中,使插入后各結(jié)點數(shù)據(jù)域中的數(shù)據(jù)仍保持遞增有序。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)x(2)p(3)s2.以下給定程序中函數(shù)fun的功能是:計算正整數(shù)num各位上的數(shù)字之積。例如,假設(shè)輸入252,那么輸出應(yīng)該是20。假設(shè)輸入202,那么輸出應(yīng)該是0。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)longk=1;(2)num/=10;3.編寫函數(shù)fun,其功能是:計算n門課程的平均分,結(jié)果作為函數(shù)值返回。例如:假設(shè)有5門課程的成績是:90.5,72,80,61.5,55,那么函數(shù)的值為:71.80。floatfun(float*a,intn){floatav=0.0;inti;for(i=0;i<n;i++) /*求分數(shù)的總和*/av=av+a[i];return(av/n); /*返回平均值*/}第十一套1.以下給定程序中,函數(shù)fun的功能是:將形參a所指數(shù)組中的前半局部元素中的值與后半局部元素中的值對換。形參n中存放數(shù)組中數(shù)據(jù)的個數(shù),假設(shè)n為奇數(shù),那么中間的元素不動。例如:假設(shè)a所指數(shù)組中的數(shù)據(jù)為:1、2、3、4、5、6、7、8、9,那么調(diào)換后為:6、7、8、9、5、1、2、3、4。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)1(2)i(3)a[p+i]或*(a+p+i)2.以下給定程序中函數(shù)fun的功能是:把從主函數(shù)中輸入的3個數(shù),最大的數(shù)放在a中,中間的數(shù)放在b中,最小的數(shù)放在c中。例如,假設(shè)輸入的數(shù)為:551234,輸出的結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)floatk;(2)if(*a<*c)3.學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,其功能是:把分數(shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。注意:分數(shù)最高的學(xué)生可能不止一個,函數(shù)返回分數(shù)最高的學(xué)生的人數(shù)。intfun(STREC*a,STREC*b){inti,j=0,max=a[0].s;for(i=0;i<N;i++)if(max<a[i].s)max=a[i].s;/*找出最大值*/for(i=0;i<N;i++)if(max==a[i].s)b[j++]=a[i];/*找出成績與max相等的學(xué)生的記錄,存入結(jié)構(gòu)體b中*/returnj;/*返回最高成績的學(xué)生人數(shù)*/}第十二套1.以下給定程序中,函數(shù)fun的功能是:從形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回剩余字符串的個數(shù)。ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)N(2)k(3)ss[i]2.以下給定程序中函數(shù)fun的功能是:逐個比擬p、q所指兩個字符串對應(yīng)位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的數(shù)組中,形成一個新的字符串。例如,假設(shè)主函數(shù)中a字符串為aBCDeFgH,b字符串為ABcd,那么c中的字符串應(yīng)為aBcdeFgH。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1) intk=0;(2)while(*p||*q)3.規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的*號之外,將串中其它*號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:****ABCDEFG。voidfun(char*a){inti=0;char*p=a;while(*p&&*p==′*′){a[i]=*p;i++;p++;}while(*p){if(*p!=′*′){a[i]=*p;i++;}p++;}a[i]=′\0′;}第十三套1.以下給定程序中,函數(shù)fun的功能是:把形參s所指字符串中下標為奇數(shù)的字符右移到下一個奇數(shù)位置,最右邊被移出字符串的字符繞回放到第一個奇數(shù)位置,下標為偶數(shù)的字符不動(注:字符串的長度大于等于2)。例如,形參s所指字符串為abcdefgh,執(zhí)行結(jié)果為ahcbedgf。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)1(2)s[k]或*(s+k)(3)c2.以下給定程序中fun函數(shù)的功能是:求表達式s=aa…aa-…-aaa-aa-a(此處aa…aa表示n個a,a和n的值在1至9之間)例如,a=3,n=6,那么以上表達式為:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函數(shù)的形參,表達式的值作為函數(shù)值傳回main函數(shù)。請改正程序中的錯誤,使它能計算出正確的結(jié)果。(1)longs=0,t=0;(2)t=t/10;3.編寫函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計在tt所指的字符串中'a'到'z'26個小寫字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。例如,當(dāng)輸入字符串a(chǎn)bcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:33322110000000000000000000voidfun(char*tt,intpp[]){inti;for(i=0;i<26;i++)pp[i]=0;/*初始化pp數(shù)組各元素為0]=′\0′;tt++)if(*tt>=′a′&&*tt<=′z′)pp[*tt-′a′]++;}第十四套1.以下給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符串相同的串,找到后返回該串在字符串?dāng)?shù)組中的位置(即下標值),假設(shè)未找到那么返回-1。ss所指字符串?dāng)?shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)N(2)N-1(3)02.以下給定程序中函數(shù)fun的功能是:從整數(shù)1到55之間,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放個位數(shù),a2放十位數(shù)。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)a2=k/10; (2)returni;3.規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:將字符串尾部的*號全部刪除,前面和中間的*號不動。例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:****A*BC*DEF*G。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a){while(*a?。健鋅0′)a++;a--;/*指針a指向字符串的尾部*/while(*a==′*′)a--;/*指針a指向最后一個字母*/*(a+1)=′\0′;/*在字符串最后加上結(jié)束標志符*/}第十五套1.以下給定程序中已建立了一個帶頭結(jié)點的單向鏈表,在main函數(shù)中將屢次調(diào)用fun函數(shù),每調(diào)用一次,輸出鏈表尾部結(jié)點中的數(shù)據(jù),并釋放該結(jié)點,使鏈表縮短。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)next(2)t->data(3)t2.以下給定程序中函數(shù)fun的功能是:將字符串中的字符逆序輸出,但不改變字符串中的內(nèi)容。例如,假設(shè)字符串為abcd,那么應(yīng)輸出:dcba。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)voidfun(char*a)(2)printf("%c",*a);3.編寫函數(shù)fun,其功能是:比擬字符串的長度,(不得使用C語言提供的求字符串長度的函數(shù)),函數(shù)返回較長的字符串。假設(shè)兩個字符長度相同,那么返回第一個字符串。例如,輸入beijing<CR>shanghai<CR>(<CR>為回車鍵),函數(shù)將返回shanghai。char*fun(char*s,char*t){inti,j;for(i=0;s[i]?。健鋅0′;i++);/*求字符串的長度*/for(j=0;t[j]?。健鋅0′;j++);if(i>=j(luò))/*比擬兩個字符串的長度*/returns;/*函數(shù)返回較長的字符串,假設(shè)兩個字符串長度相等,那么返回第1個字符串*/elsereturnt;}第十六套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ù)據(jù)的個數(shù)。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)n/2(2)i(3)a[n-i-1]2.以下給定程序中函數(shù)fun的功能是:將一個由八進制數(shù)字字符組成的字符串轉(zhuǎn)換成與其面值相等的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進制數(shù)字字符。例如,假設(shè)輸入77777,那么輸出32767。請改正程序中的錯誤,使它能得出正確結(jié)果。(1)n=*p-′0′;(2)n=n*8+*p-′0′;3.學(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ù)值返回。(用于字符串比擬的函數(shù)是strcmp)。STRECfun(STREC*a,char*b){inti;STRECstr={"\0",-1};/*假設(shè)沒找到指定的學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1]+)if(strcmp(a[i].num,b)==0)/*找到指定學(xué)號的學(xué)生數(shù)據(jù)*/str=a[i];returnstr;/*返回學(xué)生記錄*/}第十七套1.以下給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標文件中,復(fù)制成功時函數(shù)返回1,失敗時返回0。在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到屏幕。主函數(shù)中源文件名放在變量sfname中,目標文件名放在變量tfname中。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)"r"(2)fs(3)ft2.以下給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù):8642。(1)if(d%2==0)(2)s/=10;3.編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當(dāng)a=45,b=12時,調(diào)用該函數(shù)后,c=5142。voidfun(inta,intb,long*c){*c=b%10+(a/10)*10+(b/10)*100+(a%10)*1000;}第十八套1.以下給定程序中,函數(shù)fun的功能是:有N×N矩陣,根據(jù)給定的m(m<=N)值,將每行元素中的值均向右移動m個位置,左位置為0。例如,N=3,m=2,有以下矩陣123456789程序執(zhí)行結(jié)果為001004007請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)i++(2)m(3)m2.以下給定程序中函數(shù)fun的功能是:計算并輸出high以內(nèi)最大的10個素數(shù)的和。high的值由主函數(shù)傳給fun函數(shù)。例如,假設(shè)high的值為100,那么函數(shù)的值為732。請改正程序中的錯誤,使程序能輸出正確的結(jié)果。(1)while((high>=2)&&(n<10))(2)yes=0;break;3.編寫函數(shù)fun,其功能是:利用下面的簡單迭代方法求方程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.739086。floatfun(){floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);returnx1;}第十九套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ù)。例如,a所指變量中的學(xué)號、姓名和三門課的成績依次是:10001、"ZhangSan"、95、80、88,那么修改后輸出b中的數(shù)據(jù)應(yīng)為:10002、"LiSi"、95、80、88。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)a(2)b.name(3)score[i]2.以下給定程序中函數(shù)fun的功能是:刪除s所指字符中所有的小寫字母c。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)s[j++]=s[i];或{s[j]=s[i];j++;}(2)s[j]=′\0′;3.規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:將字符串中的前導(dǎo)*號全部移到字符串的尾部。例如,字符串中的內(nèi)容為:*******A*BC*DEF*G****,移動后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G***********。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a){inti=0,n=0;char*p;p=a;while(*p==′*′)/*判斷*p是否是*號,并統(tǒng)計*號的個數(shù)*/{n++;p++;}while(*p)/*將前導(dǎo)*號后的字符傳遞給a*/{a[i]=*p;i++;p++;}while(n!=0){a[i]=′*′;i++;n--;}a[i]=′\0′;}第二十套1.以下給定程序的功能是:從鍵盤輸入假設(shè)干行字符串(每行不超過80個字符),寫入文件myfile4.txt中,用-1作字符串輸入結(jié)束的標志,然后將文件的內(nèi)容顯示在屏幕上。文件的讀寫分別由函數(shù)ReadText和WriteText實現(xiàn)。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)*fw(2)str(3)str2.以下以下給定程序中,函數(shù)fun的功能是:從低位開始依次取出長整型變量s中奇數(shù)位上的數(shù),構(gòu)成一個新數(shù)存放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為7654321時,t中的數(shù)為7531(1)voidfun(longs,long*t)(2)s1=s1]3.voidfun(inta,intb,long*c){*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;}第二十一套1以下給定程序中,函數(shù)fun的功能是:有N×N矩陣,將矩陣的外圍元素做順時針旋轉(zhuǎn)。操作順序是:首先將第一行元素的值存入臨時數(shù)組r,然后使第一列成為第一行,最后一行成為第一列,最后一列成為最后一行,再使臨時數(shù)組中的元素成為最后一列。例如,假設(shè)N=3,有以下矩陣:123456789操作后應(yīng)為:741852963請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果(1)0(2)j--(3)j2.以下給定程序中函數(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。f(x)函數(shù)定義如下:f(x)=(x+1)/(x-2)x>0且x≠2f(x)0x=0或x=2(x-1)/(x-2)x<0請改正程序中的錯誤,使程序能輸出正確的結(jié)果。(1)doublef(doublex)(2)returns;3.編寫函數(shù)fun,其功能是計算:s作為函數(shù)值返回。在C語言中可調(diào)用log(n)函數(shù)求ln(n)。log函數(shù)的引用說明為:doublelog(doublex)。例如,假設(shè)m的值為20,那么fun函數(shù)值為6.506583。doublefun(intm){inti;doubles=0.0;for(i=1;i<=m;i++)s=s+log(i);/*計算s=ln(1)+ln(2)+ln(3)+…+ln(m)*/returnsqrt(s);/*對s求平方根并返回*/}第二十二套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è)有,函數(shù)值為非0。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)N(2)substr(3)02.以下給定程序中函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。例如,假設(shè)給主函數(shù)中的變量x1、x2、x3分別輸入15112,那么輸出結(jié)果應(yīng)當(dāng)是330。請改正程序中的錯誤,使它能得出正確的結(jié)果(1)fun(intx,inty,intz)或intfun(intx,inty,intz)(2)returnj;3.規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:只刪除字符前導(dǎo)和尾部的*號,串中字母間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(shù),形參e給出了字符串中尾部*號的個數(shù)。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G。voidfun(char*a,intn,inth,inte){inti,j=0;for(i=h;i<n-e;i++)/*第一個字母和最后一個字母之間的字符全不刪除*/a[j++]=a[i];a[j]=′\0′;/*在字符串最后加上結(jié)束標識*/}第二十三套1.以下給定程序中,函數(shù)fun的功能是:計算一個帶頭結(jié)點的單向鏈表中各結(jié)點的數(shù)據(jù)域中數(shù)值之和,結(jié)果作為函數(shù)值返回。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)data(2)next(3)head2.以下給定程序中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符串相同的子串全部替換為t2所指字符串,所形成的新串放在w所指的數(shù)組中。要求t1和t2所指字符串的長度相同。例如,當(dāng)s所指字符串中的內(nèi)容為"abcdabfab",t1所指子串中的內(nèi)容為"ab",t2所指子串中的內(nèi)容為"99"時,在w所指的數(shù)組中的內(nèi)容應(yīng)為"99cd99f99"。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)while(*r)(2)r++;3函數(shù)fun的功能是:將s所指字符串中下標為偶數(shù)的字符刪除,剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)s所指字符串中的內(nèi)容為"ABCDEFGHIJK"時,在t所指數(shù)組中的內(nèi)容應(yīng)是:"BDFHJ"。voidfun(char*s,chart[]){inti,j=0,k=strlen(s);/*k為字符串的長度*/for(i=1;i<k;i=i+2)/*將s所指字符串中下標為奇數(shù)的字符存入t所指字符串中*/t[j++]=s[i];第二十四套1.程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是:將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進行修改,并把a的地址作為函數(shù)值返回主函數(shù),從主函數(shù)中輸出修改的數(shù)據(jù)。例如,a所指變量s中的學(xué)號、姓名和三門課的成績依次是:10001、"ZhangSan"、95、80、88,修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、"LiSi"、96、81、89。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)structstudent*(2)a->score[i](3)a2.以下給定程序中函數(shù)fun的功能是:從N個字符串中找出最長的串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放入一個字符串?dāng)?shù)組中。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)char*fun(char(*sq)[M])(2)returnsp;3.編寫函數(shù)fun,其功能是:將a、b中的兩個兩位正整數(shù)合并成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位數(shù)依次放在變量c的百位和個位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=2415。voidfun(inta,intb,long*c){*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;}第二十五套1.以下給定程序中,函數(shù)fun的功能是:將N×N矩陣主對角線元素的值與反向?qū)蔷€對應(yīng)位置上元素的值進行交換。例如,假設(shè)N=3,有以下矩陣:123456789交換后為:321456987請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)t[][N](2)i=0;i<N(3)s2.由N個有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,以下給定程序中函數(shù)fun的功能是:利用折半查找法查找整數(shù)m在數(shù)組中的位置。假設(shè)找到,返回其下標值;否那么,返回-1。折半查找的根本算法是:每次查找前先確定數(shù)組中待查的范圍low和high(low<high),然后用m與中間位置(mid)上元素的值進行比擬。如果m的值大于中間位置元素的值,那么下一次的查找范圍落在中間位置之后的元素中;反之,下一次的查找范圍落在中間位置之前的元素中。直到low>high,查找結(jié)束。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)intfun(inta[],intm)或fun(inta[],intm)(2)elseif(m>a[mid])3.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:除了尾部的*號之外,將字符中的其它的*號全部刪除。形參p已指向字符串中最后的一個字母。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是ABCDEFG*******。voidfun(char*a,char*p){char*t=a;for(;t<=p;t++)if(*t?。健?′)*(a++)=*t;/*將p以前所有不是*號的字符保存下來*/for(;*t!=′\0′;t++)*(a++)=*t;/*將p以后的所有*號保存下來*/*a=′\0′;/*在字符串最后加上字符串結(jié)束標識*/}第二十六套1.以下給定程序中,函數(shù)fun的功能是:找出100~999之間(含100和999)所有整數(shù)中各位上數(shù)字之和為x(x為正整數(shù))的整數(shù),并輸出;符合條件的整數(shù)個數(shù)作為函數(shù)值返回。例如,當(dāng)x值為5時,100~999之間各位上數(shù)字之和為5的整數(shù)有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15個。當(dāng)x值為27時,各位數(shù)字之和為27的整數(shù)是:999,只有1個。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)999(2)t/10(3)x2.以下給定程序中函數(shù)fun的功能是:從低位開始依次取出長整型變量s中偶數(shù)位上的數(shù),構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為7654321時,t中的數(shù)為642。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)voidfun(longs,long*t)(2)while(s>0)3.學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,其功能是:按分數(shù)降序排列學(xué)生的記錄,高分在前,低分在后。voidfun(STRECa[]){inti,j;STRECt;for(i=1;i<N;i++)/*用冒泡法進行排序,進行N-1次比擬*/for(j=0;j<N-1;j++)/*在每一次比擬中要進行N-1次兩兩比擬*/if(a[j].s<a[j+1].s){t=a[j];a[j]=a[j+1];a[j+1]=t;}/*按分數(shù)的上下排列學(xué)生的記錄,高分在前*/}第二十七套1.程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是:對形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進行修改,并在主函數(shù)中輸出修改后的數(shù)據(jù)。例如,假設(shè)b所指變量t中的學(xué)號、姓名和三門課的成績依次是:10002、"ZhangQi"、93、85、87,修改后輸出t中的數(shù)據(jù)應(yīng)為:10004、"LiJie"、93、85、87。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)->sno(2)->name(3)&t2.以下給定程序中函數(shù)fun的功能是:用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時,平方根值為:1.414214。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)doublefun(doublea,doublex0)(2)if(fabs(x1-x0)>=0.00001)3.學(xué)生的記錄由學(xué)號和成績組成。N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,其功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。doublefun(STREC*a,STREC*b,int*n){inti;doubleav=0.0;*n=0;for(i=0;i<N;i++)av=av+a[i].s;av=av/N;/*求平均值*/for(i=0;i<N;i++)if(av<=a[i].s){b[*n]=a[i];*n=*n+1;}/*將高于等于平均分的學(xué)生存入b所指存儲單元中,并統(tǒng)計人數(shù)*/returnav;/*返回平均分*/}第二十八套1.以下給定程序中已建立了一個帶頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按數(shù)據(jù)域遞增有序鏈接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點,使之只保存一個。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)q(2)next(3)next2.以下給定程序中函數(shù)fun的功能是:用選擇法對數(shù)組中的n個元素進行升序排列。請修改程序中的錯誤,使它能得出正確的結(jié)果。(1)p=j(luò);(2)p=i;3.編寫函數(shù)fun,其功能是:將1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,并通過n返回這些數(shù)的個數(shù)。例如,假設(shè)傳給m的值為50,那么程序輸出:711142122283335424449voidfun(intm,int*a,int*n){inti,j=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)/*求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中*/a[j++]=i;*n=j(luò);/*返回這些數(shù)的個數(shù)*/}第二十九套1.以下給定程序中,函數(shù)fun的功能是:有N×N矩陣,以主對角線為對稱線,對稱元素相加并將結(jié)果存放在左下三角元素中,右上三角元素置為0。例如,假設(shè)N=3,有以下矩陣:123456789計算后結(jié)果為10065010149請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除。使程序得出正確的結(jié)果。(1)[N](2)t[i][j](3)t[j][i]2.以下給定程序中函數(shù)fun的功能是:計算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,z和y的值不相等。例如,當(dāng)x的值為9,y的值為11,z的值為15時,函數(shù)值為-3.50。請改正程序中的錯誤,使它能得出正確的結(jié)果(1)#defineFU(m,n)(m)/(n)(2)return(value);3.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:將字符串中的前導(dǎo)*號全部刪除,中間和尾部的*號不刪除。例如,字符串中的內(nèi)容為:*******A*BC*DEF*G****,刪除后字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G****。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a){char*p=a;while(*p==′*′)p++;/*指針p指向字符串第一個字母*/for(;*p?。健鋅0′;p++,a++)*a=*p;/*從第一個字母開始,其后的字符都放入指針a所指的字符串中*/*a=′\0′;/*在字符串最后加上字符串結(jié)束標識*/}第三十套1.程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲學(xué)生的學(xué)號、姓名和3門課的成績。所有學(xué)生數(shù)據(jù)均以二進制方式輸出到student.dat文件中。函數(shù)fun的功能是:從文件中找出指定學(xué)號的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對該學(xué)生的分數(shù)進行修改,使每門課的分數(shù)加3分,修改后重寫文件中學(xué)生的數(shù)據(jù),即用該學(xué)生的新數(shù)據(jù)覆蓋原數(shù)據(jù),其它學(xué)生數(shù)據(jù)指定不變;假設(shè)找不到,那么不做任何操作。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)fp(2)==(3)fp2.以下給定程序中函數(shù)fun的功能是:用插入排序法對字符串中的字符進行升序排列。插入法的根本算法是:先對頭兩個字符進行排序,然后把第三個字符插入到前兩個字符中,插入后前三個字符依然有序;再把第四個字符插入到前三個字符中,……。待排序的字符串已在主函數(shù)中賦予。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)n=strlen(aa);(2)ch=aa[i];3.N名學(xué)生的成績已在主函數(shù)中放入一個帶有頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,其功能是:找出學(xué)生的最高分,并由函數(shù)值返回。doublefun(STREC*h){doublemax=h->s;while(h?。絅ULL)/*通過循環(huán)找到最高分數(shù)*/{if(max<h->s)max=h->s;h=h->next;}returnmax;}第三十一套1.以下給定程序中,函數(shù)fun的功能是:計算下式前n項的和,并作為函數(shù)值返回。例如,假設(shè)主函數(shù)從鍵盤給n輸入50后,那么輸出為S=1.960784。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)double(2)j(3)1.0/t或(double)1/t2.以下給定程序中函數(shù)fun的功能是:判斷一個整數(shù)是否為素數(shù),假設(shè)是素數(shù)返回1,否那么返回0。在main()函數(shù)中,假設(shè)fun返回1輸出YES,假設(shè)fun返回0輸出NO!。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)正確:k++;(2)正確:if(m==k)3.請編寫函數(shù)fun,其功能是:找出一維整型數(shù)組元素中最大的值及其所在的下標,并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。voidfun(inta[],intn,int*max,int*d){inti;*max=a[0];*d=0;for(i=0;i<n;i++)/*將最大的元素放入指針max所指的單元,最大元素的下標放入指針d所指的單元*/if(*max<a[i]){*max=a[i];*d=i;}}第三十二套1.以下給定程序中,函數(shù)fun的功能是計算下式直到,并將計算結(jié)果作為函數(shù)值返回。例如,假設(shè)形參e的值為1e-3,函數(shù)的返回值為2.985678。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)0(2)i++或++i或i+=1或i=i+1(3)2.0]2.以下給定程序中函數(shù)fun的功能是:將s所指字符串的正序和反序進行連接,形成的新串放在t所指的數(shù)組中。例如,當(dāng)s所指字符串為:"ABCD"時,t所指字符串中的內(nèi)容應(yīng)為:"ABCDDCBA"。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)voidfun(char*s,char*t)(2)t[2]3.編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為奇數(shù)同時ASCII值也為奇數(shù)的字符之外,其余的所有字符全部刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。例如,假設(shè)s所指字符串的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數(shù),但所在元素的下標為偶數(shù),因此需要刪除;而字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標也為奇數(shù),因此不應(yīng)當(dāng)刪除,其它依此類推。最后t所指數(shù)組中的內(nèi)容應(yīng)為:"135"。voidfun(char*s,chart[]){inti,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(i%2?。?&&s[i]%2?。?){t[j]=s[i];/*將下標為奇數(shù)同時ASCII碼值為奇數(shù)的字符放入數(shù)組t中*/j++;}t[j]=′\0′;/*最后加上結(jié)束標識符*/}第三十三套1.以下給定程序中,函數(shù)fun的功能是:在形參s所指字符串中的每個數(shù)字字符之后插入一個*號。例如,形參s所指的字符串為def35adh3kjsdf7,執(zhí)行后結(jié)果為def3]注意:局部源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!(1)&&(2)0或′\0′(3)s[j]或*(s+j)2.以下給定程序中函數(shù)fun的功能是:根據(jù)整型形參m,計算如下公式的值。例如,假設(shè)m的值為5,那么應(yīng)輸出1.463611。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)for(i=2;i<=m;i++)(2)y+=1.0/(i*i);或y+=(double)1.0/(i*i)3.編寫函數(shù)fun,其功能是:實現(xiàn)B=A+A',即將矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計算結(jié)果在main函數(shù)中輸出。例如,輸入下面的矩陣:其轉(zhuǎn)置矩陣為:程序輸出:261061014101418voidfun(inta[3][3],intb[3][3]){inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)b[i][j]=a[i][j]+a[j][i];/*把矩陣a加上a的轉(zhuǎn)置,存放在矩陣b中*/}第三十四套1.請補充函數(shù)fun,該函數(shù)的功能是:把數(shù)組aa中的偶數(shù)元素按原來的先后順序放在原數(shù)組后面。例如,假設(shè)輸入"33,67,42,58,25,76,85,16,41,56",輸出結(jié)果為"33,67,25,85,41,42,58,76,16,56"。(1)aa[i]%2==0(2)i<k2.以下給定程序中,函數(shù)fun的功能是:將主函數(shù)中兩個變量的值進行交換。例如,假設(shè)變量a中的值為8,b中的值為3,那么程序運行后,a中的值為3,b中的值為8。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)voidfun(int*x,int*y)(2)t=*x;*x=*y;*y=t;3.請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計各年齡段的人數(shù)。N個年齡通過調(diào)用隨機函數(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(j=0;j<M;j++)b[j]=0;/*數(shù)組b初始化為0]+)if(a[i]>=100)b[10]++;/*如果年齡大于等于100,b[10]自增1]+;/*如果年齡小于100,那么將其分別統(tǒng)計到b[a[i]/10]中*/}第三是五套1.程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是:將形參a中的數(shù)據(jù)進行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進行輸出。例如,假設(shè)傳給形參a的數(shù)據(jù)中學(xué)號、姓名和三門課的成績依次是:10001、"ZhangSan"、95、80、88,修改后的數(shù)據(jù)應(yīng)為:10002、"LISi"、96、81、89。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)structstudent (2)a.name (3)a.score[i]2.假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。以下給定程序中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。變量n中存放數(shù)列中元素的個數(shù)。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)if(p==n)return-1;(2)a[i]=a[i+1];3.學(xué)生記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組中,請編寫函數(shù)fun,其功能是:把分數(shù)最低的學(xué)生數(shù)據(jù)放入b所指的數(shù)組中,注意:分數(shù)最低的學(xué)生可能不止一個,函數(shù)返回分數(shù)最低的學(xué)生人數(shù)。intfun(STREC*a,STREC*b){inti,j=0,n=0,min;min=a[0].s;for(i=0;i<N;i++)if(a[i].s<min)min=a[i].s;for(i=0;i<N;i++)if(a[i].s==min){*(b+j)=a[i];j++;n++;}returnn;}第三十六套1.請補充main函數(shù),該函數(shù)的功能是:將字符串str中的字符向前移動一位,原來在第一個位置上的字符移動到字符串尾,結(jié)果仍然保存在原字符串中。例如,輸入"howdoyoudo?",那么結(jié)果輸出"owdoyoudo?h"。(1)str[i+1](2)str[i]=ch2.以下給定程序中,函數(shù)fun實現(xiàn)的功能是:統(tǒng)計一個無符號整數(shù)中各位數(shù)字值為0的個數(shù),通過形參傳回主函數(shù),并把該整數(shù)中各位上最大的數(shù)字值作為函數(shù)值返回。例如,假設(shè)輸入無符號整數(shù)30800,那么數(shù)字值為0的位的個數(shù)為3,各位上數(shù)字值最大的是8。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。(1)if(t==0)(2)*zero=count;3.請編寫函數(shù)fun,該函數(shù)的功能是:移動字符串中的內(nèi)容,移動的規(guī)那么是把第1~m個字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的內(nèi)容為ABCDEFGHIJK,m的值為3,移動后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。voidfun(char*w,intm){inti,j;chart;for(i=1;i<=m;i++)/*進行m次的循環(huán)左移*/{t=w[0];for(j=1;w[j]?。健鋅0′;j++)/*從第2個字符開始以后的每個字符都依次前移一個字符*/w[j-1]=w[j];w[j-1]=t;/*將第1個字符放到最后一個字符中*/}}第三十七套1.以下給定程序中,函數(shù)fun的功能是:將形參s所指字符串中下標為奇數(shù)的字符取出,并按ASCII碼大小遞增排序,將排序后的字符存入形參p所指字符數(shù)組中,形成一個新串。例如,形參s所指的字符為:baawrskjghzlicda,執(zhí)行后p所指字符數(shù)組中的字符串應(yīng)為:aachjlsw。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)t=i(2)i(3)′\0′或02.以下給定程序中函數(shù)fun的功能是:用下面的公式求π的近似值,直到最后一項的絕對值小于指定的數(shù)(參數(shù)num)為止。例如,程序運行后,輸入0.0001,那么程序輸出3.1414。請改正程序中的錯誤,使它能輸出正確的結(jié)果。(1)while(fabs(t)>=num)(2)t=s/n;3.編寫函數(shù)fun,其功能是:刪除一個字符串中指定下標的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存指定的下標。例如,輸入一個字符串world,然后輸入3,那么調(diào)用該函數(shù)后的結(jié)果為word。voidfun(chara(),charb(),intn){inti,k=0;for(i=0;a[i]?。健鋅0′;i++)if(i?。絥)/*將不是指定下標的字符存入數(shù)組b中*/b[k++]=a[i];b[k]=′\0′;/*在字符串最后加上結(jié)束標識*/}第三十八套1.給定程序的功能是:判斷字符ch是否與串str中的某個字符相同,假設(shè)相同什么也不做,假設(shè)不同那么插在串的最后。(1)?。?2)str[1]或*(str+1) (3)s,c2.以下給定的程序中,fun函數(shù)的功能是:將p所指的字符串中每個單詞的最后一個字母改成大寫(這里的"單詞"是指有空格隔開的字符串)。例如,假設(shè)輸入:Iamastudenttotaketheexamination那么應(yīng)輸出:IaMAstudenTtOtakEthEexaminatioN請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)if(*p==′′)(2)*(p-1)=toupper(*(p-1));3.編寫函數(shù)fun,w是一個大于10的無符號整數(shù),假設(shè)w是n(n≥2)位的整數(shù),那么函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。例如,w值為5923,那么函數(shù)返回923;假設(shè)w值為923,那么函數(shù)返回23。unsignedfun(unsignedw){if(w>=10000)returnw%10000;/*求出n位整數(shù)w的后n-1位的數(shù)*/if(w>=1000)returnw%1000;if(w>=100)returnw%100;if(w>=10)returnw%10;}第三十九套1.函數(shù)fun的功能是:從三個形參a、b、c中找出中間的數(shù),并作為函數(shù)值返回。例如,當(dāng)a=3,b=5,c=4時,中間的數(shù)為4。(1)a(2)a(3)b2.以下給定程序中,函數(shù)fun的功能是:求整數(shù)x的y次方的低3位值。例如,整數(shù)5的6次方為15625,此值的低3位值為625。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)for(i=1;i<=y(tǒng);i++)(2)t=t%1000;3.請編寫函數(shù)fun,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依此放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個數(shù)存放在形參n所指的存儲單元中。例如,假設(shè)二維數(shù)組中的數(shù)據(jù)為:333333334444444455555555那么一維數(shù)組中的內(nèi)容應(yīng)該是333333334444444455555555voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j,k=0;for(i=0;i<mm;i++)/*將二維數(shù)組s中的數(shù)據(jù)按行的順序依次放到一維數(shù)組b中*/for(j=0;j<nn;j++)b[k++]=s[i][j];*n=k;/*通過指針返回元素個數(shù)*/}第四十套1.以下給定程序中,函數(shù)fun的功能是:在形參s所指字符串中尋找與參數(shù)c相同的字符,并在其后插入一個與之相同的字符,假設(shè)找不到相同的字符那么不做任何處理。例如,假設(shè)s所指字符串為baacda,c中的字符為a,執(zhí)行后s所指字符串為baaaacdaa。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)′\0′(2)0(3)c2.在主函數(shù)中從鍵盤輸入假設(shè)干個數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個元素中。以下給定程序中函數(shù)fun的功能是:計算數(shù)組元素中所有值為正數(shù)的平均值(不包括0)。例如:數(shù)組中元素中的值依次為:39,-47,21,2,-8,15,0,那么程序的運行結(jié)果為19.250000。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)doublesum=0.0;(2)sum/=c;floatfun(intn){inti,s1=0;floats=0.0;for(i=1;i<=n;i++){s1=s1+i;/*求每一項的分母*/s=s+1.0/s1;/*求多項式的值*/}returns;}s1=s1+i;/*求每一項的分母*/s=s+1.0/s1;/*求多項式的值*/}returns;}第四十一套1.以下給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字符順序后移,處理后將新字符串的首地址作為函數(shù)值返回。例如,假設(shè)s所指字符串為:asd123fgh543df,處理后新字符串為:asdfghdf123543。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)s[i](2)k(3)'\0'或02.以下給定程序中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。要求t1和t2所指字符串的長度相同。例如,當(dāng)s所指字符串中的內(nèi)容為:"abcdabfabc",t1所指串中的內(nèi)容為"ab",t2所指子串中的內(nèi)容為"99"時,結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為"abcdabf99c"。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)while(*w)(2)if(*r==*p)3.編寫函數(shù)fun,其功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,剩余字符形成的新串放在t所指數(shù)組中。例如,假設(shè)s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數(shù)、…、字符1的ASCII碼值也為奇數(shù)、…都應(yīng)當(dāng)刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"BDF24"。voidfun(char*s,chart[]){inti,j=0,n;n=strlen(s);for(i=0;i<n;i++)/*找出ASCII碼值為偶數(shù)的字符依次存入數(shù)組中*/if(s[i]%2==0){t[j]=s[i];j++;}t[j]=′\0′;}第四十二套1.請補充main函數(shù),該函數(shù)的功能是:從鍵盤輸入一個字符串及一個指定字符,然后把這個字符及其后面的所有字符全部刪除。例如,輸入"abcdef",指定字符為"e",那么輸出"abcd"。1)break;(2)i++或++i或i+=1或i=i+1(3)′\0′2.以下給定程序中,函數(shù)fun的功能是:將大寫字母轉(zhuǎn)換為對應(yīng)小寫字母之后的第5個字母;假設(shè)小寫字母為v~z,使小寫字母的值減21。轉(zhuǎn)換后的小寫字母作為函數(shù)值返回。例如,假設(shè)形參是字母A,那么轉(zhuǎn)換為小寫字母f。形參是字母W,那么轉(zhuǎn)換為小寫字母b。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。1)c=c+32;(2)c=c+5;×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(inta[][N]),該函數(shù)的功能是:將數(shù)組左下半三角元素中的值全部置成0。例如a數(shù)組中的值為:a=197238456那么返回主程序后a數(shù)組中的值應(yīng)為:097008000第四十三套1.以下給定程序中,函數(shù)fun的功能是:計算N×N矩陣的主對角線元素和反向?qū)蔷€元素之和,并作為函數(shù)值返回。要求先累加主對角線元素中的值,再累加反向?qū)蔷€元素中的值。例如,假設(shè)N=3,有以下矩陣:123456789首先累加1、5、9,然后累加3、5、7,函數(shù)返回值為30。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。1)sum=0(2)t[i][i](3)12.以下給定程序中函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個根,并要求絕對誤差不超過0.001。例如,假設(shè)給m輸入-100,n輸入90,那么函數(shù)求得的一個根為2.000。1)doubler;(2)while(fabs(n-m)>0.001)3.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的*號外,將串中其它的*號全部刪除。形參h已指向字符串中第一個字母,形參p指向字符串的中最后一個字母。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,假設(shè)字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:****ABCDEFG********。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。voidfun(char*a,char*h,char*p){inti=0;char*q=a;while(q<h)/*判斷前導(dǎo)*號的結(jié)束*/{a[i]=*q;q++;i++;}while(q<p){ /*刪除除了字符串前導(dǎo)和尾部的*號*/if(*q?。健?′){a[i]=*q;i++;}q++;}while(*q){a[i]=*q;i++;q++;}a[i]=′\0′;}第四十四套1.以下給定程序中,函數(shù)fun的功能是:找出100到x(x≤999)之間各位上的數(shù)字之和為15的所有整數(shù),并在屏幕輸出;將符合條件的整數(shù)的個數(shù)作為函數(shù)值返回。例如,當(dāng)n值為500時,各位數(shù)字之和為15的整數(shù)有:159、168、177、186、195、249、258、267、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26個。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)0(2)x(3)t++2.以下給定程序中函數(shù)fun的功能是:先將s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序連接到t所指串之后。例如:當(dāng)s所指的字符串為"ABCDE"時,t所指的字符串應(yīng)為"EDCBAABCDE"。請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)intiv,s1;(2)t[i]=s[s1-i-1];3.函數(shù)fun的功能是:將a、b的兩個兩位正整數(shù)合并成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位數(shù)依次放在變量c的百位和個位上,b中的十位和個位數(shù)依次放在變量c的千位和十位上。例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=1425。voidfun(inta,intb,long*c){*c=a%10+(b%10)*10+(a/10)*100+(b/10)*1000;}四十五套1.以下給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長超過k的字符串中后面的字符刪除,只保存前面的k個字符的。ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。請在下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。(1)[M](2)N(3)′\0′2.以下給定程序中函數(shù)fun的功能是:根據(jù)以下公式求π值,并作為函數(shù)值返回。例如,當(dāng)給指定精度的變量eps輸入0.0005時,應(yīng)輸出Pi=3.140578。π,2=1+1,3+1,3×2,5+1,3×2,5×3,7+1,3×2,5×3,7×4,9+……請改正程序中的錯誤,使它能得出正確的結(jié)果。(1)t=1.0
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國防火門行業(yè)發(fā)展策略規(guī)劃分析報告
- 2025-2030年中國鉆機電控系統(tǒng)市場十三五規(guī)劃與發(fā)展策略研究報告
- 2025-2030年中國訓(xùn)練健身器材行業(yè)需求現(xiàn)狀及發(fā)展趨勢分析報告
- 2025-2030年中國組合電器產(chǎn)業(yè)發(fā)展趨勢及前景調(diào)研分析報告
- 武漢體育學(xué)院《機制設(shè)計理論及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄂爾多斯職業(yè)學(xué)院《功能表面設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 大同師范高等??茖W(xué)?!堆芯啃詫W(xué)習(xí)指導(dǎo)與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥職業(yè)技術(shù)學(xué)院《社會企業(yè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 茶葉的起源與發(fā)展
- 二年級下冊美術(shù)教案-第19課 剪窗花丨贛美版
- 人保理賠員試題車險查勘定損
- 羅姓姓氏源流和遷徙分布
- 發(fā)展經(jīng)濟學(xué) 馬工程課件 1.第一章 發(fā)展中國家與發(fā)展經(jīng)濟學(xué)
- GB/T 25775-2010焊接材料供貨技術(shù)條件產(chǎn)品類型、尺寸、公差和標志
- 房屋建筑學(xué)-01概論
- 2023年大唐集團招聘筆試試題及答案新編
- 班前安全活動記錄(防水工)
- 《干部履歷表》(1999版電子版)
- 帶狀皰疹的針灸治療課件
評論
0/150
提交評論