《c語(yǔ)言上機(jī)試題》word版_第1頁(yè)
《c語(yǔ)言上機(jī)試題》word版_第2頁(yè)
《c語(yǔ)言上機(jī)試題》word版_第3頁(yè)
《c語(yǔ)言上機(jī)試題》word版_第4頁(yè)
《c語(yǔ)言上機(jī)試題》word版_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、填空題請(qǐng)補(bǔ)充fun函數(shù),該函數(shù)的功能是:判斷一個(gè)年份是否為閏年。例如,2007年不是閏年,2008是閏年。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include # include int fun(int n) int flag=0; if(n%4=0) if(_1_) flag=1; if(_2_) flag=1; return _3_;二、改錯(cuò)題下列給定程序中,fun函數(shù)的功能是:根據(jù)形參n,計(jì)算如下公式的值。 例如,若輸入5,則應(yīng)輸出2.28333。請(qǐng)修改程序中的錯(cuò)誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線

2、刪除,使它能計(jì)算出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include double fun(int n) double s=1.0; int i; /*error*/ for(i=2;i=n;i+) s+=1.0/k; /*error*/ _填 空_三、編程題請(qǐng)編寫函數(shù)fun,它的功能是:求出1到500之內(nèi)能被7或11整除,但不能同時(shí)被7和11整除的所有整數(shù),并將它們放在b所指的數(shù)組中,通過(guò)m返回這些數(shù)的個(gè)數(shù)。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。#

3、 include # include void fun(int *b,int *m) 一、填空題【答案及難度指數(shù)】(1)n%100!=0(2)n%400=0(3)flag【一起來(lái)審題】(1)該題中函數(shù)功能是判斷一個(gè)年份是否為閏年。其中,閏年的條件是年數(shù)可以被4整除,即為閏年;被100整除而不能被400整除的為平年;被100整除也可被400整除的為閏年。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,主函數(shù)中的if(fun(year)判斷語(yǔ)句,調(diào)用函數(shù)fun對(duì)年數(shù)進(jìn)行判斷。(3)進(jìn)入fun函數(shù),利用if對(duì)年數(shù)進(jìn)行判斷。 【解題思路】第一空:根據(jù)閏年的條件和已有的語(yǔ)句if(n%4=0),知道這里的

4、條件應(yīng)該是能被4整除但要排除被100整除的整數(shù),所以第一空填n%100!=0。第二空:被100整除也可被400整除的為閏年,所以第二空填n%400=0。第三空:主函數(shù)中if(fun(year)語(yǔ)句是對(duì)函數(shù)返回值的判斷,所以fun函數(shù)應(yīng)該將對(duì)n的判斷的flag值返回,第三空填flag?!局饕键c(diǎn)】if條件語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】(1)s+=1.0/i;(2)return s;【一起來(lái)審題】該題中函數(shù)功能是求題干累加公式的值。從已給定源程序的main主函數(shù)開(kāi)始入手,通過(guò)printf(nnthe result is%lfn,fun(n);語(yǔ)句調(diào)用fun函數(shù),求得公式值?!窘忸}思路】(1)第

5、一個(gè)標(biāo)識(shí)下,在以i為循環(huán)參數(shù)的for循環(huán)中進(jìn)行公式累加,每一項(xiàng)為1.0/i,所以s+=1.0/k;改為s+=1.0/i;。(2)第二個(gè)標(biāo)識(shí)下,首先根據(jù)題干,將填空刪除,函數(shù)定義為double fun(int n),它有double型的返回值,所以這里返回累加公式的計(jì)算結(jié)果,即return s;?!局饕键c(diǎn)】函數(shù)功能;函數(shù)返回。三、編程題【答案及難度指數(shù)】int j,k=0; for(j=2;j500;j+) /循環(huán)條件if(j%7=0|j%11=0)&j%77!=0) /判斷是否符合題干要求 bk+=j; /將結(jié)果放入數(shù)組b *m=k; /將累加器值賦值給m【一起來(lái)審題】(1)該程序的解題思路

6、,可以分解為以下幾步:判斷是否被7整除判斷或者是否被11整除并且不被77整除按要求返回計(jì)算結(jié)果。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)fun(a,&m);,其中m返回這些數(shù)的個(gè)數(shù),a傳給函數(shù)中的參數(shù),存放計(jì)算結(jié)果的數(shù)組b?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:首先,定義變量k,設(shè)置為累計(jì)器,計(jì)算符合條件的數(shù)的個(gè)數(shù)。然后,通過(guò)循環(huán),判斷小于500的每一個(gè)整數(shù)是否符合題干中的要求。其中的判斷條件能否被7或者被11整除為j%7=0|j%11=0,不能被11和7同時(shí)整除為j%77!=0,它們之間的并關(guān)系就用&連接,最后結(jié)果即為(j%7=0|j%11=0) & j%77!=0。最

7、后,將符合條件的整數(shù)存入數(shù)組b中,同時(shí)對(duì)k進(jìn)行自加,將k值賦給m,返回結(jié)果?!局饕键c(diǎn)】數(shù)組操作;函數(shù)傳值;if條件語(yǔ)句;for循環(huán)語(yǔ)句。一、填空題請(qǐng)補(bǔ)充函數(shù)fun(char *t),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的字符串為ABCDE,則調(diào)用該函數(shù)后,串中的內(nèi)容為EDCBA。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include # include # include # define M 60void fun(char *t) int j,m=strlen(t)-1; char s;

8、 for(j=0;jm;j+,_1_) s=tj; _2_; _3_; 一、填空題【答案及難度指數(shù)】(1)m-(2)tj=tm(3)tm=s【一起來(lái)審題】(1)該程序功能實(shí)現(xiàn)字符串的逆置。把字符串中字符逆置就是把字符串中的第一個(gè)元素和最后一個(gè)元素交換,第二個(gè)元素和倒數(shù)第二個(gè)元素交換,直到所有的元素交換完成為止。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,主函數(shù)調(diào)用fun(b);,通過(guò)鍵盤輸入字符串b,作為參數(shù)傳給函數(shù)void fun(char *t)中的t。(3)進(jìn)入fun函數(shù),要想實(shí)現(xiàn)逆置,首先要求得字符串的長(zhǎng)度。通過(guò)m=strlen(t)-1;求得m的值即為字符串的長(zhǎng)度。然后通過(guò)for

9、循環(huán)對(duì)字符串進(jìn)行置換?!窘忸}思路】第一空:for(j=0;jm;j+,_1_)根據(jù)前面的分析,對(duì)字符串的置換是從第一個(gè)元素和最后一個(gè)元素(jm,m是字符串的長(zhǎng)度)開(kāi)始進(jìn)行循環(huán)交換,從第一個(gè)元素j=0開(kāi)始向后增加為j+,所以從最后一個(gè)向前減少即為m-,第一空填m-。第二空:char s;用來(lái)定義存放臨時(shí)的字符,s=tj;的目的是首先用s存放字符串t的第j個(gè)字符,這樣將第m個(gè)字符存放在j的位置,就首先實(shí)現(xiàn)了將后面的第m個(gè)字符置換到前面的第j的位置,所以第二空填tj=tm。第三空:前面實(shí)現(xiàn)了后面的第m個(gè)字符置換到前面的第j個(gè)字符,同時(shí)將第j個(gè)字符的內(nèi)容存放在臨時(shí)的字符s,現(xiàn)在就將這個(gè)臨時(shí)字符s中的內(nèi)

10、容存放在第m個(gè)字符位置,這樣就完成了j位置的字符與m位置字符的置換,所以第三空填tm=s?!局饕键c(diǎn)】字符數(shù)組。二、改錯(cuò)題下列給定程序中,函數(shù)fun的功能是:判斷字符ch是否與s所指串中的某個(gè)字符相同,若相同,則什么也不做;若不同,則將其插在串的最后。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的操作。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include # include /*error*/void fun(char s,char c) while(*s & *s!=c) s+; /*error*/ if(*s=c) s0=c; /*error*/

11、s1=0; main() char str81,ch; printf(n Please enter a string:n); gets(str); printf(n Please enter the character to search:); ch=getchar(); fun(str,ch); printf(nThe result is %sn,str);二、改錯(cuò)題【答案及難度指數(shù)】(1)void fun(char *s,char c)(2)if(*s=0)(3)s1=0;【一起來(lái)審題】該題中函數(shù)功能首先是查找子串再判斷,最后是實(shí)現(xiàn)將符合條件的字符串進(jìn)行連接。從已給定源程序的main主函數(shù)

12、開(kāi)始入手,通過(guò)fun(str,ch);語(yǔ)句調(diào)用fun函數(shù),實(shí)現(xiàn)題干的要求?!窘忸}思路】(1)第一個(gè)標(biāo)識(shí)下,void fun(char s,char c)根據(jù)主函數(shù)中的定義,知道s為數(shù)組名,傳的應(yīng)該是數(shù)組地址,所以應(yīng)改為void fun(char *s,char c)。(2)while循環(huán)中對(duì)c與s進(jìn)行匹配檢查,第二個(gè)標(biāo)識(shí)下,是當(dāng)不同時(shí)執(zhí)行連接操作,那么判斷s是否為結(jié)尾的表達(dá)式應(yīng)該是if(*s=0)。(3)第三個(gè)標(biāo)識(shí)下,連接后的新串要添加結(jié)尾符,所以正確的表達(dá)是將s1=0;改為s1=0;?!局饕键c(diǎn)】函數(shù)定義語(yǔ)法;數(shù)組操作。三、編程題請(qǐng)編寫函數(shù)fun,函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函

13、數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為:357999949998則函數(shù)值為72。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include # define M 3# define N 4int fun(int bMN) 三、編程題【答案及難度指數(shù)】int i,j,s=0;for(j=0;jN;j+) /統(tǒng)計(jì)行元素 s+=b0j; s+=bM-1j; for(i=1;i=M-2;i+) /統(tǒng)計(jì)列元素 s+=bi0; s+=biN-1; return s;【一起來(lái)審題】該程

14、序功能是求出二維數(shù)組周邊元素之和。其中周邊元素是指數(shù)組的最上和最下的兩行,最左和最右的兩列。數(shù)組第一行元素的行下標(biāo)為0,最后一行元素的行下標(biāo)為M-1,第一列的列下標(biāo)為0,最后一列的列下標(biāo)為N-1?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:求周邊元素的和,可以采用兩個(gè)循環(huán)分別把行元素和列元素相加。但要避免把周邊元素重復(fù)相加。【主要考點(diǎn)】二維數(shù)組;for循環(huán)語(yǔ)句。三、編程題編寫函數(shù)int fun(int mm,int bMAX),該函數(shù)的功能是求出小于或等于mm的所有素?cái)?shù),并放在b數(shù)組中,該函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編

15、寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include # define MAX 100int fun(int mm,int bMAX) main() int m,i,sum; int bMAX ; FILE *out; printf(input a data:n); scanf( %d,&m); sum=fun(m,b); for(i=0 ;isum;i+) if(i%10=0 & i!=0) printf(n); printf(%5d,bi); sum=fun(28,b); out=fopen(outfile.dat,w); for(i=0 ;i1;i-) for(

16、j=2;j=i) /若是素?cái)?shù),將其存入b bk=i; k+; /累加素?cái)?shù)個(gè)數(shù) return k+;【一起來(lái)審題】該程序功能是求一定范圍內(nèi)的素?cái)?shù)。素?cái)?shù)是只能被1和自身除盡的數(shù)。判斷i是不是素?cái)?shù)最簡(jiǎn)單的方法就是用2(i-1)去除i,只要能除盡就不是素?cái)?shù)?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:(1)首先,判斷i是否是素?cái)?shù),即是否能被2(i-1)整除。(2)若是素?cái)?shù),就將i存入數(shù)組b,并對(duì)計(jì)數(shù)器k加1。(3)最后返回素?cái)?shù)的個(gè)數(shù)k。其中,對(duì)于素?cái)?shù)的判斷并不只局限于上面提到的方法,也可以采用其他的方法進(jìn)行判斷?!局饕键c(diǎn)】數(shù)組操作;if條件語(yǔ)句;for循環(huán)語(yǔ)句。三、編程題請(qǐng)編寫一個(gè)函數(shù)fun,它的功

17、能是:將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用C語(yǔ)言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如,若輸入字符串:-999,則函數(shù)把它轉(zhuǎn)換為整數(shù)值:-999。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include long fun(char *str) main() char s10; long n; FILE *out; char *t=123,789,7102,-4356; printf(Enter a string:n); gets(s); n=fun(s); printf(%ldn,n); o

18、ut=fopen(outfile.dat,w); for(n=0;n4;n+) fprintf(out,%ldn,fun(tn); fclose(out);三、編程題【答案及難度指數(shù)】long s=0,t;int i=0,j,n=strlen(str),k,s1;/求得字符串長(zhǎng)度nif(str0=-) i+;for(j=i;j=n-1;j+) t=strj-0;/把字符變成數(shù)值 s1=10; for(k=j;kn-1;k+) t*=s1; /把t中原來(lái)的數(shù)值增加10倍,即向左移動(dòng)一位 s+=t; /把轉(zhuǎn)換后的數(shù)值t加在個(gè)位 if(str0=-) /判斷數(shù)字字符是否為負(fù)數(shù) return-s; /

19、負(fù)數(shù)返回-s else return s; /正數(shù)返回s【一起來(lái)審題】該程序功能是將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)。其中,解題思路是將每位數(shù)字字符串的ASCII碼減去48(字符0的ASCII碼值),變成數(shù)值09。然后再不斷進(jìn)行高位乘以10加低位的運(yùn)算,或者反過(guò)來(lái)從低位向高位求,即不斷進(jìn)行低位加高位乘以10的運(yùn)算?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:從左到右移動(dòng)指針str,利用上一步不斷把t中的數(shù)據(jù)左移一位,把str當(dāng)前所指字符轉(zhuǎn)換成數(shù)字再加上低位,從而把數(shù)字字符串轉(zhuǎn)換成一個(gè)整數(shù)?!局饕键c(diǎn)】數(shù)組操作;for循環(huán)語(yǔ)句。一、填空題給定程序的功能是分別統(tǒng)計(jì)字符串中大寫字母和小寫字母的個(gè)數(shù)。例如

20、,給字符串str輸入:sfd34ddfoFFDEsd23sdf,則輸出結(jié)果應(yīng)為:cap=4,min=13請(qǐng)勿改動(dòng)函數(shù)中的其他內(nèi)容,僅在橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include void fun(char *str,int *x,int *y) while(*str) if(*str=A & *str=a & *str=A & *str=Z)是判斷當(dāng)前字符是否為大寫字母,而且x是一個(gè)整型指針,要使x指向的數(shù)據(jù)實(shí)現(xiàn)遞增,則要把指針改為實(shí)際數(shù)據(jù),因此第一空應(yīng)填(*x)+。同理,第二空填(*y)+。第三空:根據(jù)題意要輸出統(tǒng)計(jì)的字符串中大、小寫字母的個(gè)數(shù),參照前面參

21、數(shù)的對(duì)應(yīng)關(guān)系,第三空填cap,min?!局饕键c(diǎn)】輸入輸出函數(shù)及指針的使用。三、編程題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:比較兩個(gè)字符串的長(zhǎng)度(不得調(diào)用C語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相同,則返回第一個(gè)字符串。例如,輸入beijing和shanghai兩個(gè)字符串,函數(shù)將返回shanghai。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include char *fun(char *str,char *t) main() char a20,b10,*p,*q; int i; FIL

22、E *out; printf(Input one string:); gets(a); printf(Input another string:); gets(b); printf(%sn,fun(a,b); out=fopen(outfile.dat,w); fprintf(out,%s,fun(hunan,changsha); fclose(out);三、編程題【答案及難度指數(shù)】char *p,*t1=t,*s1=str;int n=0,m=0;while(*s1) /計(jì)算串str的長(zhǎng)度n,其中s1為臨時(shí)指針 n+; s1+; while(*t1) /計(jì)算串t的長(zhǎng)度m,其中t1為臨時(shí)指針

23、m+; t1+; if(n=m) /比較m和n的值,設(shè)置p指向較大的指針 p=str; else p=t;return p;【一起來(lái)審題】該程序功能是比較兩個(gè)字符串的長(zhǎng)度。解題過(guò)程是首先分別求得兩個(gè)字符串的長(zhǎng)度,然后對(duì)這兩個(gè)值進(jìn)行判斷,實(shí)現(xiàn)兩個(gè)字符串長(zhǎng)度的比較?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:(1)首先求得字符串的長(zhǎng)度,設(shè)變量n和m分別用來(lái)求字符串的長(zhǎng)度,初值設(shè)為0,把字符串中的字符逐個(gè)訪問(wèn),每訪問(wèn)一個(gè)字符,n和m分別加1,直到字符串結(jié)束。(2)使用兩個(gè)臨時(shí)指針變量s1、t1分別作為訪問(wèn)字符串的變量。(3)根據(jù)m和n的值返回串,設(shè)置指針p,指向返回串的開(kāi)始地址。【主要考點(diǎn)】指針操作

24、;函數(shù)傳值;while條件。一、填空題給定程序的功能是求1/4的圓周長(zhǎng),函數(shù)通過(guò)形參得到圓的直徑,函數(shù)返回1/4的圓周長(zhǎng)(圓周長(zhǎng)公式為:L=d,在程序中定義的變量名要與公式的變量相同)。例如,輸入圓的直徑值:19.527,輸出為:15.336457。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include double fun(double d) return 3.14159*_1_/4.0;main() double z; printf(Input the d of the round : ); scanf(%lf,&_

25、2_); printf( L=%lfn ,fun(_3_);一、填空題【答案及難度指數(shù)】(1)d(2)z(3)z【一起來(lái)審題】(1)該程序功能是計(jì)算1/4的圓周長(zhǎng)。從已給部分源程序的main主函數(shù)開(kāi)始入手,主函數(shù)通過(guò)鍵盤輸入獲得圓的直徑,通過(guò)調(diào)用printf輸出語(yǔ)句中fun函數(shù)計(jì)算1/4的圓周長(zhǎng)。(2)進(jìn)入fun函數(shù),根據(jù)前面的定義,計(jì)算四分之一的圓周長(zhǎng)并返回。 【解題思路】第一空:return 3.14159*_1_/4.0;這里根據(jù)return 知道該語(yǔ)句是返回四分之一的圓周長(zhǎng),根據(jù)圓周長(zhǎng)公式,很容易知道這里缺少圓的直徑參數(shù),結(jié)合函數(shù)fun的定義double fun(double d)中的

26、參數(shù)d,第一空應(yīng)填d。第二空:scanf(%lf,&_2_);是獲得由鍵盤輸入的參數(shù)值,&是C語(yǔ)言中的求地址運(yùn)算符。主函數(shù)初始定義了參數(shù)z,因此填z。其中,&z為輸入項(xiàng)。第三空:printf( L=%lfn ,fun(_3_);輸出函數(shù)fun的計(jì)算結(jié)果,將直徑參數(shù)傳給函數(shù)定義中的d,根據(jù)前面的定義和輸入,這里應(yīng)該填z。【主要考點(diǎn)】函數(shù)調(diào)用;參數(shù)傳值。二、改錯(cuò)題下列給定程序中函數(shù)fun的功能是:計(jì)算正整數(shù)m的各位上的數(shù)字之積。例如,若輸入202,則輸出應(yīng)該是0。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # inclu

27、de long fun(long n) /*error*/ long r; do r*=n%10; /*error*/ n=10; while(n); return (r);main() long m; printf(nplease enter a number:); scanf(%ld,&m); printf(n%ldn,fun(m);二、改錯(cuò)題【答案及難度指數(shù)】(1)long r=1;(2)n/=10;【一起來(lái)審題】(1)本題中函數(shù)的功能是計(jì)算正整數(shù)各個(gè)位上的數(shù)字之積。首先要對(duì)正整數(shù)進(jìn)行截取,取得該正整數(shù)的各個(gè)位上的數(shù)字,然后對(duì)求得的數(shù)進(jìn)行累積。(2)從已給定源程序的main主函數(shù)開(kāi)始入手

28、,通過(guò)鍵盤輸入一個(gè)正整數(shù)m,語(yǔ)句printf(n%ldn,fun(m);調(diào)用fun函數(shù)求得m各個(gè)位上的數(shù)字之積?!窘忸}思路】(1)第一個(gè)錯(cuò)誤標(biāo)識(shí)下的r是函數(shù)的返回值,子函數(shù)fun中在執(zhí)行r*=n%10;之前,只進(jìn)行了定義,卻沒(méi)有賦初值,編譯的時(shí)候會(huì)指出在無(wú)定義前使用了變量r。r代表了各個(gè)位上的數(shù)字之積,其初值應(yīng)為1。因此,第一個(gè)標(biāo)識(shí)下的long r;改為long r=1;。(2)第二個(gè)標(biāo)識(shí)下的符號(hào)是非法字符,根據(jù)題意,這里應(yīng)該是進(jìn)行除法運(yùn)算,所以n=10;應(yīng)該改為n/=10;?!局饕键c(diǎn)】變量初始化;算術(shù)表達(dá)式語(yǔ)法。三、編程題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:求出1到m之內(nèi)(含m)能被7或11

29、整除的所有整數(shù)放在數(shù)組b中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。例如,若傳送給m的值為20,則程序輸出7 11 14。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include # define N 100void fun(int m,int *b,int *n) main() int aN,n,i; FILE *out; fun(20,a,&n); for(i=0;in;i+) if(i+1)%20=0) printf(%4dn,ai); else printf(%4d,ai); printf(n); ou

30、t=fopen(outfile.dat,w); fun(100,a,&n); for(i=0;in;i+) if(i+1)%10=0) fprintf(out,%4dn,ai); else fprintf(out,%4d,ai); fclose(out);三、編程題【答案及難度指數(shù)】int i,j=0;*n=0;for(i=1;i=m;i+) if(i%7=0|i%11=0) bj=i; j+; *n=j;【一起來(lái)審題】該題是求某范圍內(nèi)能被7或11整除的數(shù)。該程序的解題思路可以分解為以下幾步:判斷是否被7整除判斷或者是否被11整除按要求返回計(jì)算結(jié)果?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:

31、(1)數(shù)i能否被7或11整除,它的邏輯表達(dá)式為(i%7=0|i%11=0)。(2)其中滿足被7或11整除的數(shù)的個(gè)數(shù),可以用累加器j來(lái)計(jì)數(shù)。【主要考點(diǎn)】指針操作;for循環(huán)語(yǔ)句;數(shù)組操作。一、填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤輸入一組整數(shù),使用條件表達(dá)式找出最大的整數(shù)。當(dāng)輸入的整數(shù)為-1時(shí)結(jié)束。例如,輸入96 121 23 343 232 54 89 365 89 -1時(shí),最大的數(shù)為365。僅在橫線上填寫所需的若干表達(dá)式或語(yǔ)句,請(qǐng)勿改動(dòng)函數(shù)中的其他任何內(nèi)容。注意:部分源程序給出如下。# include # include # define NUM 100main() int nNU

32、M; int i=-1; int MAX=-1; printf(nInsert integer with the -1 as end: n); do i+; printf(n%d=,i); scanf(%d,_1_); MAX=_2_ni : MAX; while(_3_); printf(The MAX=%dn,MAX);一、填空題【答案及難度指數(shù)】(1)&ni (2)MAXni? (3)ni!=-1【一起來(lái)審題】(1)該程序功能是使用條件表達(dá)式找出最大的整數(shù)。從已給部分源程序的main主函數(shù)開(kāi)始入手,主函數(shù)執(zhí)行int i=-1;int MAX=-1;初始化參數(shù)定義。(2)進(jìn)入do-whil

33、e循環(huán)語(yǔ)句從鍵盤輸入整數(shù),并且通過(guò)條件表達(dá)式找出最大值?!窘忸}思路】第一空:scanf(%d,_1_);是從鍵盤輸入,取值。根據(jù)上一句printf(n%d=,i);輸出語(yǔ)句,可知該空應(yīng)填&ni。第二空:MAX=_2_ ni : MAX;是使用條件表達(dá)式判斷當(dāng)前輸入的ni和MAX值的大小,根據(jù)printf(The MAX=%dn,MAX);循環(huán)外的輸出語(yǔ)句,可知MAX用來(lái)存儲(chǔ)最大值,因此根據(jù)條件表達(dá)式語(yǔ)法,第二空應(yīng)填MAXni?。第三空:while(_3_);是循環(huán)執(zhí)行的條件,根據(jù)題意當(dāng)輸入-1時(shí)結(jié)束,因此,循環(huán)執(zhí)行的條件是,當(dāng)前輸入不是-1,第三空應(yīng)填ni!=-1?!局饕键c(diǎn)】while循環(huán);

34、選擇語(yǔ)句。二、改錯(cuò)題下列給定程序中,函數(shù)fun的功能是:將一個(gè)由八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為與其數(shù)值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進(jìn)制數(shù)字。例如,若輸入11111,則輸出將是4681。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include # include int fun(char *s) int n; /*error*/ n=*s-o; s+; /*error*/ while(*s!=0) n=n*7+*p-o s+; return n;main() char str6; i

35、nt i; int n; printf(Enter a string (octal digits): ); gets(str); if(strlen(str)5) printf(Error:string too longer!nn); exit(0); for(i=0;stri;i+) if(stri7) printf(Error: %c not is octal digits!nn,stri); exit(0); printf(The original string: ); puts(str); n=fun(str); printf(n%s is convered to intege num

36、ber: %dnn,str,n);二、改錯(cuò)題【答案及難度指數(shù)】(1)n=*s-0;(2)n=n*8+*s-0;【一起來(lái)審題】(1)該題中函數(shù)功能是實(shí)現(xiàn)八進(jìn)制到十進(jìn)制的轉(zhuǎn)換。其中,八進(jìn)制與十進(jìn)制之間的轉(zhuǎn)換關(guān)系是:八進(jìn)制就是逢8進(jìn)1。八進(jìn)制數(shù)采用 07這8個(gè)數(shù)來(lái)表達(dá)一個(gè)數(shù)。八進(jìn)制數(shù)第1位的權(quán)值為8的0次方,第2位權(quán)值為8的1次方,第3位權(quán)值為8的2次方,等等。(2)從已給定源程序的main主函數(shù)開(kāi)始入手,首先通過(guò)if語(yǔ)句判斷串是否過(guò)長(zhǎng),是否符合題干要求;然后循環(huán)判斷串中的每一位是否都在07之間,是否符合八進(jìn)制要求,最后調(diào)用fun(str)實(shí)現(xiàn)八進(jìn)制到十進(jìn)制的轉(zhuǎn)換?!窘忸}思路】(1)第一個(gè)標(biāo)識(shí)下面:

37、語(yǔ)句n=*s-o;中的o不是數(shù)字零,而是字母o,根據(jù)前面的分析因此改為:n=*s-0;。(2)第二個(gè)標(biāo)識(shí)下面:語(yǔ)句n=n*7+*p-o,首先進(jìn)行同(1)相同的修改,然后根據(jù)題干要求,要進(jìn)行八進(jìn)制到十進(jìn)制的轉(zhuǎn)換,它的權(quán)值為8,而不是7,因此是n*8而不是n*7,所以此句改為:n=n*8+*s-0;?!局饕键c(diǎn)】字符;數(shù)制。三、編程題下列程序定義了NN的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的r。例如,若c數(shù)組中的值為: 則返回主程序后r的值應(yīng)為4.625000。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花

38、括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include # include # define N 3double fun(int bN) main() int cNN=1,9,7,4,5,2,3,8,3; int i,j; FILE *out; double r; printf(*n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,cij); printf(n); r=fun(c); printf(THE RESULTn); printf(The r is %lfn,r); out=fopen(outfile.dat,

39、w); fprintf(out,%lf,r); fclose(out);三、編程題【答案及難度指數(shù)】int i,j,k=0;double r=0.0;for(j=0;jN;j+) /統(tǒng)計(jì)第一行進(jìn)行統(tǒng)計(jì) r+=b0j; k+; for(j=0;jN;j+) /對(duì)第n-1行進(jìn)行統(tǒng)計(jì) r+=bN-1j; k+; for(i=1;i=N-2;i+) /對(duì)第一列進(jìn)行統(tǒng)計(jì) r+=bi0; k+; for(i=1;i=N-2;i+) /對(duì)第n-1列進(jìn)行統(tǒng)計(jì) r+=biN-1; k+; return r/=k; /求平均數(shù)【一起來(lái)審題】該程序功能是求出數(shù)組周邊元素的平均值。其中周邊元素是指第一行的元素的行下標(biāo)

40、為0,或者第n行的元素行下標(biāo)為n-1,或者第一列元素的元素列下標(biāo)為0,或者第n列的元素的列下標(biāo)為n-1?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析,采用循環(huán)分別對(duì)符合周邊元素條件的元素進(jìn)行統(tǒng)計(jì)求平均值?!局饕键c(diǎn)】二維數(shù)組;for循環(huán)語(yǔ)句。一、填空題請(qǐng)補(bǔ)充fun函數(shù),該函數(shù)的功能是將字符串str中的小寫字母都改為對(duì)應(yīng)的大寫字母,其他字符不變。例如,若輸入Welcome!,則輸出WELCOME!。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include # include # include char *fun(

41、char str) int j; for(j=0;strj;j+) if(strj=a)&(_1_) strj-=_2_; return (_3_);main() char str100; printf(nPlease enter a string: ); gets(str); printf(nThe result string is: n%s,fun(str);一、填空題【答案及難度指數(shù)】(1)strj=a),所以第一空填strj=z。第二空:根據(jù)轉(zhuǎn)換方法的分析,這里是對(duì)小寫字母的ASCII碼減32的操作,所以第二空填32。第三空:函數(shù)fun定義時(shí),返回值為char*,這里是對(duì)操作后的字符串

42、的返回,所以這里填str?!局饕键c(diǎn)】指針;數(shù)組;函數(shù)返回值。二、改錯(cuò)題下列給定程序中,函數(shù)fun的功能是:計(jì)算并輸出n以內(nèi)最大的10個(gè)能被11或19整除的自然數(shù)之和。n的值由主函數(shù)傳入,若n的值為300,則函數(shù)值為2646。請(qǐng)修改程序中的錯(cuò)誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include int fun(int n) int m=0,mix=0; while(n=2) & (mix10) /*error*/ if(n%11=0) | (n%19=0) m=m+n; mix+

43、; n-; return m;/*error*/_填 空_main() printf(%dn,fun(300);二、改錯(cuò)題【答案及難度指數(shù)】(1)if(n%11=0) | (n%19=0) (2)【一起來(lái)審題】該題中函數(shù)功能是求能被11或19整除的自然數(shù)之和。從已給定源程序的main主函數(shù)開(kāi)始入手,printf(%dn,fun(300);語(yǔ)句中的fun函數(shù)將300傳給n,計(jì)算小于300的能被11或19整除的自然數(shù)之和?!窘忸}思路】(1)第一個(gè)標(biāo)識(shí)下的if(n%11=0) | (n%19=0)語(yǔ)句應(yīng)該是判斷n是否能被11或19整除,所以應(yīng)該用邏輯符號(hào)=而不是賦值符號(hào)=,即if(n%11=0) |

44、 (n%19=0)。(2)第二個(gè)標(biāo)識(shí)下,_填空_明顯沒(méi)有函數(shù)結(jié)束括號(hào),所以這里應(yīng)該填?!局饕键c(diǎn)】邏輯語(yǔ)法;函數(shù)返回值。三、編程題請(qǐng)編寫函數(shù)fun,其功能是:將str所指字符串中除了下標(biāo)為偶數(shù)、同時(shí)ASCII值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個(gè)新串放在s所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFG123456,其中字符A的ASCII碼值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCII碼值為偶數(shù),但在數(shù)組中的下標(biāo)為奇數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCII碼值為偶數(shù),所在數(shù)組中的下標(biāo)也為偶數(shù),因此不應(yīng)當(dāng)刪除,其他以此類推。最后s所指的數(shù)組中的內(nèi)容應(yīng)是246。

45、請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include # include void fun(char *str,char s) main() char str100,s100; FILE *out; printf(nPlease enter string :); scanf(%s,str); fun(str,s); printf(nThe result is : %sn,s); out=fopen(outfile.dat,w); strcpy(str,Please enter string

46、:); fun(str,s); fprintf(out,%s,s); fclose(out);三、編程題【答案及難度指數(shù)】int i,j=0,n;n=strlen(str); /取字符串str長(zhǎng)度f(wàn)or(i=0;in;i+) if(i%2=0&stri%2=0) /判斷字符i是否符合條件 sj=stri;/將偶數(shù)下標(biāo)及偶數(shù)ASCII碼的字符放入新串 j+; /新串長(zhǎng)度加1 sj=0; /新串添加尾符【一起來(lái)審題】該程序功能是將字符串中除了下標(biāo)為偶數(shù)、ASCII值也為偶數(shù)的字符外,其余的全都刪除。解題過(guò)程利用if條件判斷表達(dá)式選擇符合條件的字符,然后將符合條件的字符放入指定的字符串。【解題思路】

47、(1)判斷一個(gè)字符串中的某一字符下標(biāo)i是否為偶數(shù),可用i%2=0來(lái)判斷,而判斷字符中的ASCII碼值是否為偶數(shù),則可用stri%2=0來(lái)判定。 (2)對(duì)串str中各個(gè)字符串逐個(gè)進(jìn)行考查,滿足條件的字符就順序放在新串s中,否則就不存放。(3)所有字符處理完后,記得在新串s的末尾加上結(jié)束符0?!局饕键c(diǎn)】數(shù)組操作;函數(shù)傳值;if條件語(yǔ)句;for循環(huán)語(yǔ)句。一、填空題請(qǐng)補(bǔ)充fun函數(shù),該函數(shù)的功能是:依次取出字符串中所有大寫字母,形成新的字符串,并取代原字符串。例如,輸入sdfASDsd,則輸出ASD。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意

48、:部分源程序給出如下。# include # include void fun(char *s) int j=0; char *p=s; while(_1_) if(*p=A & *p=Z) sj=*p; _2_; p+; sj=_3_;main() char str100; printf(nPlease Input a string :); gets(str); printf(nnThe original string is : %sn,str); fun(str); printf(nnThe string of changing is : %sn,str);一、填空題【答案及難度指數(shù)】(1

49、)*p(2)j+(3)0【一起來(lái)審題】(1)該程序功能是取出字符串中所有大寫字母。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,主函數(shù)語(yǔ)句fun(str);調(diào)用函數(shù)fun實(shí)現(xiàn)題目要求。(3)進(jìn)入fun函數(shù),利用while循環(huán)對(duì)字符串中的每一個(gè)字符進(jìn)行判斷。 【解題思路】第一空:根據(jù)fun函數(shù)的定義和while中if判斷語(yǔ)句中的表達(dá)式,知道這里字符為指針型,即這里填*p。第二空:如果字符*p符合條件語(yǔ)句中的表達(dá)式,即*p為大寫字母,將*p的值賦于sj,并且計(jì)算器j加1,所以第二空填j+。第三空:對(duì)所有字符處理完后,要注意的就是在新字符串s的末尾加上串結(jié)束符0,所以第三空填0?!局饕键c(diǎn)】whi

50、le語(yǔ)句;字符串操作。二、改錯(cuò)題下列給定程序中,函數(shù)fun的功能是:先從鍵盤上輸入一個(gè)3行3列矩陣的各個(gè)元素的值,然后輸出主對(duì)角線元素之和。請(qǐng)修改函數(shù)fun中的錯(cuò)誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include void fun() int aa33,sum; int i,j; /*error*/ _填 空_; for(i=0;i3;i+) for(j=0;j3;j+) /*error*/ scanf(%d,aaij); for(i=0;i3;i+) sum=sum+aaii; printf(sum=%

51、dn,sum);main() fun();二、改錯(cuò)題【答案及難度指數(shù)】(1)sum=0 (2)scanf(%d,&aaij);【一起來(lái)審題】該題中函數(shù)功能是計(jì)算元素的和。從已給定源程序的main主函數(shù)開(kāi)始入手,然后通過(guò)fun();語(yǔ)句調(diào)用fun函數(shù)的功能?!窘忸}思路】(1)根據(jù)題意計(jì)算元素求和,所以函數(shù)fun中不僅要有用于存儲(chǔ)累加和的變量sum,而且要給sum賦初值。因此,填空處填上sum=0。(2)scanf()語(yǔ)句中的實(shí)參必須是地址型的,而下標(biāo)aaij卻是整型的變量。因此第二個(gè)標(biāo)識(shí)下aaij應(yīng)改為&aaij。【主要考點(diǎn)】變量定義;輸入函數(shù)的語(yǔ)法。三、編程題請(qǐng)編寫一個(gè)函數(shù)void fun(i

52、nt *s,int t,int *result),用來(lái)求出數(shù)組的最小元素在數(shù)組中的下標(biāo),并存放在result所指的存儲(chǔ)單元中。例如,輸入如下整數(shù):564,165,567,121,948,324,329,454,5345,783,434,124,561,985,555則輸出結(jié)果為:3,121。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include void fun(int *s,int t,int *result) main() int store15=564,165,567,121,948,3

53、24,329,454,5345,783,434,124,561,985,555,result; FILE *out; fun(store,10,&result); printf(%d,%dn,result,storeresult); out=fopen(outfile.dat,w); fprintf(out,%dn%d,result,storeresult); fclose(out);三、編程題請(qǐng)編寫一個(gè)函數(shù)void fun(int *s,int t,int *result),用來(lái)求出數(shù)組的最小元素在數(shù)組中的下標(biāo),并存放在result所指的存儲(chǔ)單元中。例如,輸入如下整數(shù):564,165,567

54、,121,948,324,329,454,5345,783,434,124,561,985,555則輸出結(jié)果為:3,121。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。# include # include void fun(int *s,int t,int *result) main() int store15=564,165,567,121,948,324,329,454,5345,783,434,124,561,985,555,result; FILE *out; fun(store,10,&result); pr

55、intf(%d,%dn,result,storeresult); out=fopen(outfile.dat,w); fprintf(out,%dn%d,result,storeresult); fclose(out);三、編程題【答案及難度指數(shù)】int temp ,min;min=s0;/將數(shù)組s的第一個(gè)元素s0賦于minfor(temp=0;tempt;temp+) if(stempmin) /判斷min與數(shù)組每個(gè)元素的大小 min=stemp; /將小于min的數(shù)組元素賦值給min *result=temp;/將結(jié)果下標(biāo)賦值給指針result 【一起來(lái)審題】(1)該程序功能是求最小元素在

56、數(shù)組中的下標(biāo)。它的解題思路是,用最小值變量min標(biāo)記第一個(gè)待找數(shù)據(jù),逐個(gè)把所有待找數(shù)據(jù)和min進(jìn)行比較,并用min標(biāo)記其當(dāng)前最小值及其所在位置,從而找出最小值。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)fun(store,10,&result);中的參數(shù)store存放著試題給出的整數(shù),fun函數(shù)實(shí)現(xiàn)查找最小元素的下標(biāo)?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:函數(shù)fun中形參*s為指針變量,與主函數(shù)中的store相對(duì)應(yīng);t的實(shí)參值為10;形參*result為指針變量對(duì)應(yīng)result的值。首先,min賦值給數(shù)組s的第一個(gè)元素,通過(guò)for(temp=0;tempt;temp+)循環(huán)

57、將min與s數(shù)組中的元素依次比較,求出數(shù)組的最小元素值。本題考點(diǎn)是函數(shù)用指針參數(shù)返回值?!局饕键c(diǎn)】數(shù)組操作;指針操作。一、填空題給定程序的功能是判斷字符串s中的某個(gè)字符是否與字符ch相同,若相同什么也不做,若不同則插在字符串的最后。例如,輸入test,如果輸入e,輸出結(jié)果不變。但如果輸入a,結(jié)果testa。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在橫線上填寫所需的若干表達(dá)式或語(yǔ)句。注意:部分源程序給出如下。# include # include void fun(char *s,char ch) while(*s & *s!=ch) s+; if(*s _1_ ch) s0=ch;

58、_2_=0; main() char str81,c; printf(nPlease input a string:n); gets(str); printf(n Please enter the character to search : ); c=getchar(); fun(_3_); printf(nThe result is %sn,str);一、填空題【答案及難度指數(shù)】(1)!=(2)s1(3)str,c 【一起來(lái)審題】(1)首先審題,要了解程序要實(shí)現(xiàn)的功能,該題中函數(shù)功能是判斷串s中的某個(gè)字符是否與字符ch相同,最后將符合條件的字符進(jìn)行連接。(2)進(jìn)入fun函數(shù),利用while循

59、環(huán)對(duì)字符串中的每一個(gè)字符進(jìn)行判斷。 【解題思路】第一空:根據(jù)題干要求,如果字符ch和串s中的字符相同什么都不做,根據(jù)邏輯這里應(yīng)該是字符ch和串s中的字符不同,所以第一空填!=。第二空:如果沒(méi)有找到字符ch,則在while循環(huán)結(jié)束后,s指針指向串的結(jié)束符0,此時(shí)應(yīng)將字符ch寫入這里,并在下一地址寫入一個(gè)串結(jié)束符,所以這里應(yīng)該是s1。第三空:根據(jù)主函數(shù)中的gets(str);、c=getchar();語(yǔ)句和函數(shù)的定義void fun(char *s,char ch),知道函數(shù)的調(diào)用表達(dá)式中fun的參數(shù)應(yīng)該是str和c,所以第三空填str,c?!局饕键c(diǎn)】if條件語(yǔ)句;函數(shù)調(diào)用。二、改錯(cuò)題下列給定程

60、序中,函數(shù)fun的功能是:按順序給t所指數(shù)組中的元素賦予從2開(kāi)始的偶數(shù),然后再按順序?qū)γ?個(gè)元素求一個(gè)平均值,并將這些值依次存放在r所指的數(shù)組中。若t所指數(shù)組中元素的個(gè)數(shù)不是5的倍數(shù),多余部分忽略不計(jì)。例如,t所指數(shù)組有14個(gè)元素,則只對(duì)前10個(gè)元素進(jìn)行處理,不對(duì)最后的4個(gè)元素求平均值。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # define NUM 20int fun(double *t,double *r) int j,i; double sum; for(j=2,i=0;iNUM;i+) ti=j; j+=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論