3月計算機二級C語言上機試題題庫答案_第1頁
3月計算機二級C語言上機試題題庫答案_第2頁
3月計算機二級C語言上機試題題庫答案_第3頁
3月計算機二級C語言上機試題題庫答案_第4頁
3月計算機二級C語言上機試題題庫答案_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一套1. 給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個數(shù)。Ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。1 N 2 k 3 ssi2. 給定程序MODI1.C中函數(shù)fun的功能是:逐個比較p、q所指兩個字符串對應(yīng)位置中的字符,把ASCII值或相等的字符依次存放在c所指數(shù)組中,形成一個新的字符串。1 int k=0; 2 while(*p|*q)3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了字符串前導(dǎo)*號之外,將串中其它*號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。函數(shù)fun中給出

2、的語句僅供參考。int i=0; char *p=a; while(*p&&*p='*') ai=*p; i+; p+; while(*p) if(*p!='*') ai=*p;i+; p+; ai='0'第二套1. 給定程序中已建立一個帶頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按結(jié)點數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點并插入到鏈表中,插入后各結(jié)點數(shù)據(jù)域的值仍保持遞增有序。1 x 2 p 3 s2. 給定程序MODI1.C中函數(shù)fun的功能是:計算正整數(shù)num的各位上的數(shù)字之積。1 long k=1;

3、 2 num/=103. 請編寫函數(shù)fun,它的功能是:計算n門課程的平均分,計算結(jié)果作為函數(shù)返回。int i;float ave=0.0;for(i=0;i<n;i+)ave=ave+ai;ave=ave/n;return ave;第三套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 N 2 substr 3 02. 給定程序MODI1.C中

4、函數(shù)fun的功能是:求三個數(shù)的最小公倍數(shù)。1 fun(int x,int y,int z) 2 return j;3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(shù)。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。char *p=a;int j=0,len=0;while(*p)p+;len+;while(j<len-h-e)aj=ah+j;j+;aj=0;第四套1. 給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符串相同

5、的串,找到后返回該串在字符串中的位置(下標值),未找到則返回-1。ss所指字符串?dāng)?shù)組中共有N個內(nèi)容不同的字符串,且串長小于M。1 N 2 i 3 -12. 給定程序MODI1.C中函數(shù)fun的功能是:從整數(shù)1到55之間,選出能被3整除、且有一位上的數(shù)是5的那些事,并且把這些數(shù)放在b所指的數(shù)組中,這些數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個位數(shù),a2放十位數(shù)。1 a2=k/10; 2 return i;3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。char *p=a;while(*p)p+;p-;while(*p=

6、9;*')p-;p+;*p=0;第五套1. 給定程序中,函數(shù)fun的功能是:統(tǒng)計出帶有頭結(jié)點的單向鏈表中結(jié)點的個數(shù),存放在形參n所指的存儲單元中。1 *n 2 next 3 head2. 給定程序MODI1.C中函數(shù)fun的功能是:求出s所指字符串最后一次出現(xiàn)的t所指字符串的地址,通過函數(shù)值返回,在主函數(shù)中輸出從此地址開始的字符串;若未找到,則函數(shù)值NULL。1 a=NULL; 2 if(*r=*p)3. 函數(shù)fun的功能是:將s所指字符串中除了下標為偶數(shù),同時ASCII指也為偶數(shù)的字符外,其余的全部都刪除:串中剩余字符所形成的一個新串放在t所指的數(shù)組中。int i,j=0;for(i

7、=0;i<strlen(s);i+=2)if(si%2=0)tj+=si;tj=0;第六套1.函數(shù)fun的功能是:進行數(shù)字字符轉(zhuǎn)換。若形參ch中是數(shù)字字符09,則0轉(zhuǎn)換成9,1轉(zhuǎn)換成8,2轉(zhuǎn)換成7,9轉(zhuǎn)換成0;若是其他字符則保持不變,并將轉(zhuǎn)換后的結(jié)果做函數(shù)值返回。1 char 2 ch<='9' 3 '0'2. 給定程序MODI1.C中函數(shù)fun的功能是:將p所指字符串中所有字符復(fù)制到b中,要求復(fù)制第三個字符之后插入一個空格。1 bk=*p; 2 bk=' 'k+;3. N名學(xué)生的成績已在主函數(shù)中放入一個帶頭結(jié)點的鏈表結(jié)構(gòu)中,h指向鏈

8、表的頭結(jié)點。請編寫函數(shù)fun,它的功能是:求出平均分,有函數(shù)值返回。STREC *p=h->next;double av=0.0;int n=0;while(p!=NULL)av=av+p->s;p=p->next;n+;av/=n;return av;第七套1. 函數(shù)fun的功能是:把形參a所指數(shù)組中的偶數(shù)按原順序依次存放a0、a1、a2中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個數(shù)通過函數(shù)值返回。1 ai%2 2 aj 3 j2. 給定程序MODI1.C中函數(shù)fun的功能是:按以下遞推公式求函數(shù)值。例如,當(dāng)給n輸出5時,函數(shù)值為18;當(dāng)給n輸入3時,函數(shù)值為14.1 fun(int n

9、) 2 if(n=1)3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:使字符串中尾部的*號不得多于n個;若多于n個則刪除多余的*號;若少于或等于n個,則什么也不做,字符串中間和前面的*號不刪除。char *p=a;int j=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。1 i

10、2 psj 3 tp2. 已知一個數(shù)列從第0項開始的前三項分別是0、0、1以后的各項都是它相鄰的前三項之和。給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出該數(shù)列前n項的平方根之和。n的值通過形參傳入。1 double fun(int n) 2 return sum;3. 編寫函數(shù)fun,它的功能是:計算下列級數(shù)和,和值由函數(shù)值返回。例如,當(dāng)n=10,x=0.3時,函數(shù)值為1.349859。 int i; double s=1.0,s1=1.0; for(i=1;i<=n;i+) s1=s1*i; s=s+pow(x,i)/s1; return s;第九套1. 給定程序中,函數(shù)fu

11、n的功能是:計算x所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),平均值通過形參返回主函數(shù),將小于平均值且最接近平均值的數(shù)作為函數(shù)值返回,在主函數(shù)中輸出。1 *av 2 i 3 xj;2. 給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)整型形參n計算如下公式的值。例如:若n=10,則應(yīng)輸出:0.617977.1 float fun(int n) 2 for(i=2;i<=n;i+)3. 程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值,請編寫函數(shù)fun,它的功能是:使數(shù)組右上三角元素中的值乘以 i,j;for(i=0;i<N;i+) for(j=i;j<

12、N;j+)aij*=m;第十套1. 給定程序中,函數(shù)fun的功能是:將s所指字符串所有數(shù)字字符移到所有非數(shù)字字符之后,并保持數(shù)字字符串和非數(shù)字字符串原有的先后次序。1 j+ 2 si=t1i 3 j2. 給定程序MODI1.C中函數(shù)fun的功能是:用冒泡法對6個字符串按由小到大的順序排列。1 for(j=i+1;j<6;j+) 2 *(pstr+i)=*(pstr+j);3. 請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個數(shù),并返回次值。int cnt=0;char *p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;第十一套1. 函數(shù)fu

13、n的功能是:把形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a0、a1、a2中,把偶數(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 第二處 j+ 第三處 j2. 給定程序MODI1.C中函數(shù)fun的功能是:求出兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。1 t=a;a=b;b=t; 2 return (b);3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。 int

14、j=0;char *p=a;while(*p)if(*p!='*')aj+=*p;p+;aj=0;第十二套(一)程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲了若干個學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是:將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序(從小到大排序)。請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。(1) struct student (2)n-1 3 ,(二)給定程序MODI1.C中函數(shù)fun的功能是:在p所指字符串中找出ASCII碼值最大的字符,將其放在第一個位置上;并將該字符前的原字符向上順序移動。1 q=p

15、+i; 2 while(q>p)(三)學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:把指定分數(shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分數(shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。int i,j=0;for(i=0;i<N;i+)if(ai.s>=l&&ai.s<=h)bj+=ai;return j;第十三套(一)給定程序中已建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點,使之只保留一個。1q 2 next 3 next(二) 給定程序MODI

16、1.C中函數(shù)fun的功能是:用選擇法對數(shù)組中的n各元素按從小到大的順序進行排序。1 p=j; 2 p=i;(三) 請編寫一個fun函數(shù),它的功能是:求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。int i;*n=0;for(i=7;i<=m;i+) if(i%7=0)|(i%11=0)a(*n)+=i;第十四套(一)函數(shù)fun的功能是:逆置數(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ù)。1 n/2 2 i 3 an-i-1(二

17、)給定程序MODI1.C中函數(shù)fun的功能是:將一個由八進制數(shù)字字符串組成的字符串轉(zhuǎn)換為與其面值相等的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進制數(shù)字字符。1 n=*p-'0' 2 n=n*8+*p-'0'(三)學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號的學(xué)生數(shù)據(jù),指定的學(xué)生號在主函數(shù)中輸入,若沒有找到指定學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1,作為函數(shù)值返回。(用于字符串比較的函數(shù)是strcmp)。STREC c;int i;c.num0='0'c.s

18、=-1;for(i=0;i<N;i+)if(strcmp(ai.num,b)=0)strcpy(c.num,ai.num);c.s=ai.s;break;return c;第十五套(一) 給定程序中,函數(shù)fun的功能是:在帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點。找到后通過函數(shù)值返回該結(jié)點在鏈表中所處的順序號:若不存在值為ch的結(jié)點,函數(shù)值返回0.1 NULL 2 n 3 head,ch(二) 給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串的所有空白字符(包括制表符、回車符及換行符)。輸入字符串時用#結(jié)束輸入。1. for(i=0,t=0;pi;i+)2. ct=

19、'0'(三)請編寫一個函數(shù)fun,它的功能是:將ss所指字符串中所有下標為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。int i;for(i=1;i<strlen(ss);i+=2)if(ssi>='a'&&ssi<='z')ssi-=32;第十六套1. 給定程序中,函數(shù)fun的功能是:計算下式前n項的和作為函數(shù)值返回。例如:當(dāng)形參n的值為10 的時,函數(shù)返回:9.6125588。(1) 0 (2) n (3) (t*t)2. 給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計substr所指字符串

20、在str所指字符串中出現(xiàn)伯次數(shù)。(1) for(i=0;stri;i+) (2) if(substrk+1= ='0')3. 請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求JI的值(要求滿足精度0.0005,即某項小于0.0005時停止送代):程序運行后,如果輸入精度為0.0005,則程序輸出為3.14。 double s=1.0,s1=1.0; int n=1; while(s1>=eps) s1=s1*n/(2*n+1); s=s+s1; n+; return 2*s;第十七套1. 給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中所有的字母字符順序前移,其他字

21、母順序后移,處理后字符串的首地址作為函數(shù)值返回。1 si 2 k 3 02. 給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指定字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。1 while(*w)2 if(*r = =*p)3. 函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指定的數(shù)組中。 int i,j=0;for(i=0;i<strlen(s);i+)if(si%2=0)tj+=si;tj=0;第十八套 1 程序通過定義學(xué)生結(jié)構(gòu)體

22、變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是:將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進行修改,并把a中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。1 struct student * 2 a->scorei 3 a2. 給定程序MODI1.C中函數(shù)fun的功能是:從N個字符串中找出最長的那個串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放在一個字符串?dāng)?shù)組中。1 char *fun(char (*sq)M) 2 return sp;3. 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的百

23、位和個位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。 *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第十九套1. 函數(shù)fun的功能是:將形參觀者工所指數(shù)組中的前半部分元素中的值和后半部分元素中的值對換。形參n中存放數(shù)組中數(shù)據(jù)的個數(shù),若n為奇書,則中間元素不動。1 1 2 i 3 ap+i2. 給定程序MODI1.C中函數(shù)fun的功能是:把主函數(shù)中輸入的三個數(shù),最大的放在a中,最小的放在c中,中間的放在b中。1 float k; 2 if(*a<*c)3. 學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fu

24、n,它的功能是:把分數(shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最高的學(xué)生可能不止一個,函數(shù)返回分數(shù)最高的學(xué)生的人數(shù)。int i,max=a0.s,n=0;for(i=1;i<N;i+)if(max<ai.s)max=ai.s;for(i=0;i<N;i+)if(max=ai.s)bn+=ai;return n;第二十套1. 給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中小于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,大于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。1 xi/N 2 j

25、+ 3 i+2. 給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計字符串各元音字母(即:A、E、I、O、U)的個數(shù)。注意字母不分大小寫。1 numk=0; 2 switch(*s)3. 請編寫函數(shù)fun,函數(shù)的功能是:求出二級數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。int tot=0,i,j;for(i=0;i<N;i+) tot +=a0i; tot +=aM-1i;for(i=1;i<M-1;i+) tot +=ai0; tot +=aiN-1; return tot;第二十一套1程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fu

26、n的功能是將形參a中的數(shù)據(jù)進行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進行輸出。1 struct student 2 3 a.scorei2假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODI1.C中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。N中存放的是數(shù)列中元素的個數(shù)。1 if(p= =n) return-1; 2 ai=ai+1;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ù)。int i,j=0,min

27、=a0.s;for(i=0;i<N;i+) if(min>ai.s)j=0;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;第二十二套1. 給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,小于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。1 s/N 2 j+ 3 -12. 給定程序MODI1.C中函數(shù)fun的功能是:讀入一行英文文本行,將其中每個單詞的第一個字母改成大寫,然后輸出次文本行(這里的“單詞

28、”是指由空格隔開的字符串)。1 #include<stdio.h> 2 upfst (char *p)3.程序定義了N×N的二級數(shù)組,并在主函數(shù)中賦值,請編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作出函數(shù)值飯給主函數(shù)中的 i,j,n=0;double sum=0;for(i=0;i<N;i+) sum+=w0i+wN-1i;n+=2;for(i=1;i<N-1;i+) sum+=wi0+wiN-1;n+=2; return sum/n;第二十三套1. 給定程序中,函數(shù)fun的功能是:將自然數(shù)110以及它們的平方根寫到名為myfile3.

29、txt的文本文件中,然后再順序讀出顯示在屏幕上。1 fp 2 fclose(fp) 3 fname2. 給定程序MODI1.C中函數(shù)fun的功能是:將n個無序整數(shù)從小到大排序。1 for(i=j+1;i<n;i+) 2 p=i;3. 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的個位和百位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第二十四套1. 給定程序中,函數(shù)fun的功能是:找出N×N矩陣中每列元素中的最大值

30、,并按順序一次存放于形參b所指的一維數(shù)組中。1 a0i 2 < 3 x,y2. 給定程序MODI1.C中函數(shù)fun的功能是:交換主函數(shù)中的兩個變量的值。1 void fun(int *x,int *y) 2 t=*x;*x=*y;*y=t;3. 編寫函數(shù)fun,函數(shù)的功能是:求出小于或等于lim的所有素數(shù)并放在aa數(shù)組中,函數(shù)返回所求出的素數(shù)的個數(shù)。函數(shù)fun中給出的語句僅供參考。int i,j,k=0; for(i=2;i<=lim;i+) for(j=2;j<i;j+) if(i%j=0) break; if(j>=i) aak+=i; return k; 第二十五

31、套1. 函數(shù)fun的功能是進行字母轉(zhuǎn)換。若形參ch中小寫英文字母,則轉(zhuǎn)換成相應(yīng)的大寫英文字母;若形參ch中是大寫英文字母,則轉(zhuǎn)換成相應(yīng)的小寫英文字母;并將轉(zhuǎn)換的結(jié)果作為函數(shù)值返回。1 && 2 'A' 3 ch2.給定程序MODI1.C中函數(shù)fun的功能是:給一維數(shù)組a輸入任意四個整數(shù)并按下列的規(guī)律輸出。例如輸出1、2、3、4,程序輸出一下方陣。1 void fun(int *a) 2 aj=aj-1;3. 請編寫函數(shù)fun,函數(shù)的功能是:計算并輸出給定整數(shù)n的所有因子(不包過1和n本身)之和。規(guī)定n的值不大于1000.int s=0,i;for(i=2;i&l

32、t;n;i+)if(n%i=0)s+=i;return s;第二十六套1. 程序填空 給定程序中,函數(shù)的功能是:把形參s所指字符串下標為奇數(shù)的字符右移到下一個奇數(shù)位置,最右邊唄移出字符串的字符繞回放到第一個奇數(shù)位置,下標為偶數(shù)的字符不動(注:字符串的長度大于等于2)。例如,形參s所指的字符串為:abcdefgh,執(zhí)行結(jié)果為:ahcbedg。1 1 2 sk 3 c2. 給定程序MODI1.C中函數(shù)fun的功能是:求 s=aaaaaaaaaa(此處aaaa表示n個a,a和n的值在1至9之間)。1 long s=0,t=0; 2 t=t/10;3. 請編寫一個函數(shù)void fun(char*tt,

33、int pp ),統(tǒng)計在tt所指字符串中a至z26個小寫字母各自出現(xiàn)在的次數(shù),并依次放在pp數(shù)組中。char *p=tt;int i;for(i=0;i<26;i+)ppi=0;while(*p)if(*p>='a'&&*p<='z')pp*p-'a'+=1;p+;第二十七套1. 人員的記錄由編號和出生年、月、日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,且編號唯一。函數(shù)fun的功能是:找出指定編號人員數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,若指定編號不存在,返回數(shù)據(jù)中編號為空串。1 STU 2 stdi

34、.num 3 stdi2. 給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的子串的個數(shù)作為函數(shù)值返回。1 if(*r=*p)r+;p+; 2 if(*r= ='0')3. 函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指數(shù)組中。int i, j=0;for(i=0;i<strlen(s);i+)if(si%2) tj+=si;tj=0;第二十八套1. 給定程序中,函數(shù)fun的功能是:統(tǒng)計形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。例如,形參s

35、所指的字符串為:abcdef35adgh3kjsdf7。輸出結(jié)果為:4。1 si 2 '9' 3 *t = n;2. 給定程序MODI1.C中函數(shù)fun的功能是:通過某種方式實現(xiàn)兩個變量的交換,規(guī)定不允許增加語句和表達式。例如變量a中的值原為8,b中的值原為3,程序運行后a中值為3,b中的值為8.1 t=*x;*x=y; 2 return(t);3. 請編寫函數(shù)fun,函數(shù)的功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。int i,j=0; for(i=1;i<=1000;i+) if(

36、i%7=0|i%11=0)&&i%77!=0) aj+=i; *n=j; 第二十九套1.給定程序中,函數(shù)fun的功能是:有N×N矩陣,根據(jù)給定的m(m<=n)值,將每行元素中的值均右移m個位置,左邊值為0.1 i+ 2 m 3 m2.給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出high以內(nèi)最大的10個素數(shù)之和。high的值由主函數(shù)傳給fun函數(shù)。1 while(2<=high)&&(n<10) 2 yes=0;break;3. 請編寫函數(shù)fun,函數(shù)的功能是:利用一下所示的簡單迭代方法求方程求方程:cos(x)-x=0的一個

37、實根。xn+1=cos(xn)迭代步驟如下:(1)取x1的初值為0.0;(2)x0=x1,把x1的值賦給x0;(3)x1=cos(x0),求出一個新的x1;(4)若x0-x1的絕對值小于0.000001執(zhí)行步驟(5)否則執(zhí)行步驟(2);(5)所求x1就是方程cos(x)-x=0的一個實根作為函數(shù)值返回。程序?qū)⑤敵鼋Y(jié)果為:Root=0.739058。double x0,x1;x1=0.0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)>=0.000001);return x1;第三十套1.給定程序中,函數(shù)fun的功能是:將a所指的3×5矩陣中第k列的元素

38、左移到第0列,第k列以后的每列元素行依次左移,原來左邊的各列依次繞到右邊。1 k 2 N-1 3 temp2.給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)形參m的值(2<=m<=9),在m行m列的二維數(shù)組中存放如下所示規(guī)律的數(shù)據(jù),由main函數(shù)輸出。例如,若輸入2則輸出:1 void fun(int aM,int m) 2 ajk=(k+1)*(j+1);3. 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量c的個位和百位上。*c=(a%10)*1000+(b%1

39、0)*100+(a/10)*10+(b/10);第三十一套1. 給定程序中,函數(shù)fun的功能是:對形參s所指字符串中下標為奇數(shù)的字符ASCII碼大小遞增排序,并將排序后的下標為奇數(shù)的字符取出,形成一個新串。1 t=i 2 i 3 02. 給定程序MODI1.C中函數(shù)fun的功能是:用下面的公式求的近似值,知道最后一項的近似值小于指定數(shù)(參數(shù)num)為止:例如程序0.0001,則程序輸出3.1414。1 while(fabs(t)>=num) 2 t=s/n;3. 請編寫一個函數(shù)void fun(char a ,char b ,int n),其功能是:刪除一個字符串指定下標的字符。其中,a

40、指向原字符串,刪除指定字符后的字符串放在b所指的n中存入指定的下標。strncpy (b,a,n);bn=0;strcat(b,a+n+1);第三十二套1. 給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長超過k的字符串右邊的字符刪去,只保留左邊的k個字符。ss所指字符串?dāng)?shù)組中共有N個字符串,且串小于M。1 M 2 N 3 '0'2. 給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求值,并作為函數(shù)值返回。例如,給指定精度的變量eps輸入0.0005時,應(yīng)當(dāng)輸出Pi=30140578.。1 t=1.0; 2 return(s*2);3. 假定輸入字

41、符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:使字符串的前導(dǎo)*號不得多于n個;若多于n個,則刪除多余的*號;若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。函數(shù)fun中給出的語句僅供參考。int i=0; int k=0; char *p,*t; p= t =a; while(*t='*') k+;t+; if(k>n) while(*p) ai=*(p+k-n); i+; p+; ai='0'第三十三套1. 給定程序中,函數(shù)fun的功能是:將a所指4×3矩陣中第k行的元素與第0行元素交換。1 k 2 N 3 aki2.給定

42、程序MODI1.C中函數(shù)fun的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符串按ASCII碼升序排序后輸出。例如,若輸入edcba,則應(yīng)輸出:abcde。1 for(i=strlen(t)-1;i;i-) 2 if(tj>tj+1)3. 請編寫函數(shù)fun,函數(shù)的功能是:將ss所指字符串中所有下標為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。char *p=ss; int i=0;while(*p)if(i%2)&&(*p>='a'&&*p<='z')*p-=32;p+;i+;

43、 第三十四套1. 給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標文件中,復(fù)制成功時函數(shù)的返回值是1,失敗是返回值是0.在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)源文件名放在變量sfname中,目標文件放在變量tfname中。1 "r" 2 fs 3 ft2. 給定程序MODI1.C中函數(shù)fun的功能是:將長整型中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。1 if(d%2=0) 2 s/=10;3. 函數(shù)fun的功能是:將兩位正整數(shù)a、b合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量

44、c的十位和千位上,b中的十位和個位數(shù)依次放在變量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ù)。(1)a (2) (3)scorei(二)給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計算出正確的結(jié)果。1 sj+=si; 2 sj='0'(三) 假定輸入

45、的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號全部移到字符串的尾部。函數(shù)fun中給出的函數(shù)僅供參考。char *p,*q;int n=0;p=a;while(*p='*')n+;p+;q=a;while(*p)*q=*p;p+;q+;for(;n>0;n-)*q+='*'*q='0'第三十六套1. 用篩選法可得到2n(n<10000)之間的所有素數(shù),方法是:首先從素數(shù)2開始,將所有2的倍數(shù)的數(shù)從數(shù)表中刪去(把數(shù)表中相應(yīng)位置的值置成0);接著從數(shù)表中找下一個非0數(shù),并從數(shù)表中刪去該數(shù)的所有倍數(shù),依此類推,直

46、到所找的下一個數(shù)等于n為止。這樣會得到一個序列:2、3、5、7、11、13、17、19、23函數(shù)fun用篩選法找出所有小于等于n的素數(shù),并統(tǒng)計素數(shù)的個數(shù)作為函數(shù)值返回。1 ai 2 ai 3 02. 給定程序MODI1.C中函數(shù)fun的功能是:為一個偶數(shù)尋找兩個素數(shù),這兩個素數(shù)之和等于該偶數(shù),并將這兩個素數(shù)通過形參指針傳回主函數(shù)。1 y=1; 2 d=a-i;3. 請編寫函數(shù)fun,它的功能是:計算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。int i;double sum=0.0;for(i=1;i<=n;i+) if(i%5= =0|i%9=0) sum+=1.0/i

47、;return sum;第三十七套1. 給定程序中,函數(shù)fun的功能是建立一個N×N的矩陣。矩陣元素的構(gòu)成規(guī)律是:最外層元素的值全部是1;從外向內(nèi)第二層元素的值全部為2;第三層元素的值全部是3,依此類推。1 N 2 i 3 i+12. 給定程序MODI1.C中函數(shù)fun的功能是:將十進制正整數(shù)m轉(zhuǎn)換成k(2k9)進制數(shù),并按高位到低位順序輸出。1 void fun(int m, int k)2 aai=m%k; 3 printf(“%d”,aai-1);3. 編寫一個函數(shù),從num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址。(注意:主函數(shù)中用*作為結(jié)束輸入的標志

48、,函數(shù)fun中給出的語句僅供參考)。int i=0; max=a0; for(i=0;i<num;i+) if(strlen(max)<strlen(ai) max=ai; return max; 第三十八套1. 函數(shù)fun的功能是:計算f(x)=1+x-2/2!+3/3!-4/4!+的前n項和。若x=2.5,n=15時,函數(shù)值為1.917914。1 1.0 2 -1 3 t2. 給定程序MODI1.C中函數(shù)fun的功能是:從三個紅球,5個白球,6個黑球中任意取出8個作為一組,進行輸出。在沒組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是15.程序

49、中i的值代表紅球數(shù),j代表白球數(shù),k代表黑球數(shù)。1 for(i=1;i<=3;i+) 2 if(k>=0&&k<=6)3.請編寫函數(shù)fun,它的功能是:計算并輸出下列多項式的值:sn=1+1/1!+1/2!+1/3!+1/4!+1/n!。例如:在主函數(shù)中從鍵盤給n輸入15,則輸出為:s=2.718282。注意:要求n的值大于1但不大于100。double s=1;long t=1;int i;for(i=1;i<=n;i+)t=t*i;s+=1.0/t;return s;第三十九套1. 給定程序中,函數(shù)fun的功能是:計算N*N矩陣的主對角線元素和方向?qū)?/p>

50、角線元素之和,并作為函數(shù)值返回。注意:要求先累加主對角線元素中的值,然后累加反響對角線元素的值。1 sum=0 2 tii 3 12. 給定程序MODI1.C中函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個根,并要求絕對誤差不超過0.001。1 double r; 2 while(fabs(n-m)>0.001)3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了字符串前導(dǎo)和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串中的第一個字母,形參p已指向字符串中最后一個字母。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。int

51、 j=0;char *q=a;while(*q&&q<h)aj+=*q+;while(*h&&*p&&h<p)if(*h!=*)aj+=*h;h+;while(*p)aj+=*p+;aj=0;第四十套1. 給定程序中,函數(shù)fun的功能是:有N*N矩陣,將矩陣的外圍元素順時針旋轉(zhuǎn)。操作的順序是:首先將第一行元素的值存入臨時數(shù)組r,然后使第一列成為第一行,最后一行成為第一列,最后一列成為第一行,臨時數(shù)組中和元素成為最后一列。1 0 2 j- 3 j2. 給定程序MODI1.C中函數(shù)fun的功能是:計算s=f(-n)+f(-n+1)+f(0

52、)+f(1)+f(2)+f(n)的值。例如,當(dāng)n為5時,函數(shù)值應(yīng)該是:10.407143。1 double f(double x) 2 return s;3. 編寫一個函數(shù)fun,它的功能是計算:s=根號下(ln(1)+ln(2)+ln(3)+ln(m)S作為函數(shù)返回,在C語言中可以調(diào)用log(n)求ln(n)。log函數(shù)引用說明是:Double log(double x)例如,若m的值為:20,fun函數(shù)值為:6.506583。 int i; double s=0.0; for(i=1;i<=m;i+) s=s+log(i); return sqrt(s);第四十一套1. 函數(shù)fun的

53、功能是:把形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a0、a1、a2中,把偶數(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 第二處 j+ 第三處 j2. 給定程序MODI1.C中函數(shù)fun的功能是:求出兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。1 t=a;a=b;b=t; 2 return (b);3. 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。 int j=0;char *p=a;while(*p)if(*p!='*')aj+=*p;p+;aj=0;第四十二套1. 給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個數(shù)。Ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。1 N 2 k 3 ssi2. 給定程序MODI1.C中函數(shù)fun的功能是:逐個比較p、q所指兩個字符串對應(yīng)位置中的字符,把ASCII值或相等的字符依次存放在c所指數(shù)組中,形成一個新的字符串。1 int k=0; 2 while(*p|*q)3. 假定輸入

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論