版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、全國(guó)及四川二級(jí)C語(yǔ)言上機(jī)題目第一套一、填空題請(qǐng)補(bǔ)充fun函數(shù),fun函數(shù)的功能是求m的階乘。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句。注意:局部源程序給出如下。# include long fun(int m) if(_1_) return (m*fun(_2_); return _3_;main() printf(8!=%ldn,fun(8);二、改錯(cuò)題以下給定程序的功能是:讀入一個(gè)整數(shù)n2n5000,打印它的所有為素?cái)?shù)的因子。例如,假設(shè)輸入整數(shù)1234,那么應(yīng)輸出:2、617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)
2、main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include /*error*/Prime(int m); int j,p; p=1;/*error*/ for(j=2;jm;j+) if!(m%j) p=0; break; return(p);main() int i,n; printf(nplease enter an integer number between 2 and 5000:); scanf(%d,&n); printf(nnThe prime factor(s) of %d is(are):,n); for(i=2;in;i+) if(!(n%i
3、) & (Prime(i) printf( %4d,i); printf(n);三、編程題數(shù)組point中存放著m個(gè)人的成績(jī),請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:返回高于平均分的人數(shù),并將高于平均分的分?jǐn)?shù)放在high所指的數(shù)組中。例如,當(dāng)point數(shù)組中的數(shù)據(jù)為50、60、65、70、75、80、88、90、95時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,high中的數(shù)據(jù)應(yīng)為75、80、88、90、95。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include # include # include int fun(int point
4、,int n,int high) main() int j,m,high9; int point9=50,60,65,70,75,80,88,90,95; FILE *out; m=fun(point,9,high); printf(nHigh the average point are :); out=fopen(outfile.dat,w); for(j=0;j12m-131【一起來(lái)審題】1該程序功能是對(duì)階乘的實(shí)現(xiàn)。其中,階乘的計(jì)算公式定義為: 公式分為參數(shù)m是1和大于1的兩種情況,例如,1的階乘1!1;5的階乘5!54321。2從已給局部源程序的main主函數(shù)開(kāi)始入手,主函數(shù)執(zhí)行prin
5、tf輸出語(yǔ)句,該語(yǔ)句調(diào)用自定義的fun函數(shù),并將數(shù)值8傳遞給fun函數(shù)的m參數(shù)。其中fun函數(shù)就是對(duì)階乘算法的實(shí)現(xiàn)。3進(jìn)入fun函數(shù),根據(jù)前面的定義,它對(duì)階乘算法的實(shí)現(xiàn)可以分為兩種情況,一是當(dāng)m1時(shí),應(yīng)該用什么程序來(lái)實(shí)現(xiàn)階乘的計(jì)算;二是當(dāng)m1時(shí),函數(shù)直接返回1即可?!窘忸}思路】第一空:if(_1_)是要根據(jù)m的取值來(lái)判斷使用何種階乘的計(jì)算公式的。這里根據(jù)第2句遞歸調(diào)用語(yǔ)句,可知該語(yǔ)句是用來(lái)計(jì)算當(dāng)m1時(shí)的階乘。因此第一空if語(yǔ)句里面的條件應(yīng)該是滿足m1。所以,第一空應(yīng)填m1。第二空:return (m*fun(_2_)很顯然是采用遞歸函數(shù)來(lái)實(shí)現(xiàn)階乘的計(jì)算,所以,第二空應(yīng)填m-1。第三空:retu
6、rn _3_該語(yǔ)句是要實(shí)現(xiàn)當(dāng)m=1時(shí)的階乘計(jì)算。所以,第三空應(yīng)填1。【主要考點(diǎn)】遞歸函數(shù)。二、改錯(cuò)題【答案及難度指數(shù)】1Prime(int m)2if(!(m%j)【一起來(lái)審題】1整數(shù)n的素?cái)?shù)因子為整除n的所有素?cái)?shù),但不含n本身。素?cái)?shù)是指能被1和本身整除的正整數(shù)1,所以判別n是否為素?cái)?shù),只要用2、3、n-1這些數(shù)逐個(gè)去除n,觀察余數(shù)是否為0即可,只要有一次相除余數(shù)為0,n就不是素?cái)?shù),否那么n為素?cái)?shù)。因此,求整數(shù)n的素?cái)?shù)因子,要從求整數(shù)n的因子和判斷該因子是否為素?cái)?shù)的兩方面來(lái)看。2從已給定源程序的main主函數(shù)開(kāi)始入手,核心局部是循環(huán)判斷if(!(n%i) & (Prime(i),!(n%i)為
7、判斷i是否是n的因子,Prime自定義函數(shù)的功能是判斷i是否為素?cái)?shù),&與邏輯是指當(dāng)兩個(gè)判斷條件都為真的時(shí)候,i即為n的素因子。【解題思路】1第一個(gè)標(biāo)識(shí)下面的Primeint m;在程序中顯然是一個(gè)函數(shù),因此應(yīng)將后面的分號(hào)去掉。2第二個(gè)標(biāo)識(shí)下面的for語(yǔ)句最簡(jiǎn)單的應(yīng)用形式為:for循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值語(yǔ)句。顯然if語(yǔ)句后面缺少括號(hào),因此,if !(m%j)改為if(!(m%j)。該題主要考查標(biāo)點(diǎn)符號(hào)、運(yùn)算符、根本定義?!局饕键c(diǎn)】if條件語(yǔ)句;函數(shù)定義。三、編程題【答案及難度指數(shù)】int j,k=0,average=0;for(j=0;jn;j+) average+=point
8、j; /統(tǒng)計(jì)總分?jǐn)?shù) average/=n;/求平均分 for(j=0;javerage) /逐個(gè)判斷每個(gè)分?jǐn)?shù)是否大于平均分 highk=pointj; /將高于平均分的人放入high數(shù)組 k+; /統(tǒng)計(jì)大于平均分的人數(shù) return k; 【一起來(lái)審題】1該程序功能是返回高于平均分的人數(shù)。它的解題思路可以分解為以下幾步:求總分求平均分逐個(gè)元素與平均分比擬統(tǒng)計(jì)高于平均分的人數(shù)。2從已給局部源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)fun(point,9,high)中的參數(shù)由題目可知,point存放著m個(gè)人的成績(jī),high存放高于平均分的分?jǐn)?shù)。另外,根據(jù)point的定義,可知9為point數(shù)組中元素
9、的個(gè)數(shù),傳給函數(shù)fun中的參數(shù)n?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:首先,定義變量average,通過(guò)循環(huán),用average+=pointj計(jì)算總分?jǐn)?shù),然后通過(guò)average/=n;語(yǔ)句來(lái)計(jì)算平均分。其次,通過(guò)循環(huán),讓每個(gè)分?jǐn)?shù)和平均分比擬,高于平均分?jǐn)?shù)的分?jǐn)?shù)給highhighk=pointj;。在進(jìn)行以上循環(huán)的同時(shí),定義了一個(gè)變量k,每當(dāng)發(fā)現(xiàn)一個(gè)大于平均分的分?jǐn)?shù),k自動(dòng)加1k+;。最后,返回k值,即是數(shù)組point中高于平均分的元素個(gè)數(shù)?!局饕键c(diǎn)】數(shù)組操作;if條件語(yǔ)句;for循環(huán)語(yǔ)句。第二套一、填空題請(qǐng)補(bǔ)充fun函數(shù),該函數(shù)的功能是:判斷一個(gè)年份是否為閏年。例如,2007年不是閏
10、年,2021是閏年。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫(xiě)所需的假設(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_;main() int year; printf(Input the year:); scanf(%d,&year); if(fun(year) printf(%d is a leap year.n,year); else printf(%d is not
11、a leap year.n,year);二、改錯(cuò)題以下給定程序中,fun函數(shù)的功能是:根據(jù)形參n,計(jì)算如下公式的值。例如,假設(shè)輸入5,那么應(yīng)輸出2.28333。請(qǐng)修改程序中的錯(cuò)誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能計(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*/ _填 空_main() int n; printf(nplease enter 1
12、integer numbers:n); scanf(%d,&n); printf(nnthe result is %lfn,fun(n);三、編程題請(qǐng)編寫(xiě)函數(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)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include # include void fun(int *b,int *m) main() int a500,m,i; FILE *out; fun(a,&m); ou
13、t=fopen(outfile.dat,w); for(i=0;im;i+) if(i+1)%10=0) printf(%5dn,ai); fprintf(out,dn,ai); else printf(%5d,ai); fprintf(out,%d,ai); fclose(out);答案一、填空題【答案及難度指數(shù)】1n%100!=02n%400=03flag【一起來(lái)審題】1該題中函數(shù)功能是判斷一個(gè)年份是否為閏年。其中,閏年的條件是年數(shù)可以被4整除,即為閏年;被100整除而不能被400整除的為平年;被100整除也可被400整除的為閏年。2從已給局部源程序的main主函數(shù)開(kāi)始入手,主函數(shù)中的if
14、(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),知道這里的條件應(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。【主要考點(diǎn)】if條件語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】1s+=1.0/i;2return s;【一起來(lái)審題】該題中函數(shù)功能是求題干累加公
15、式的值。從已給定源程序的main主函數(shù)開(kāi)始入手,通過(guò)printf(nnthe result is%lfn,fun(n);語(yǔ)句調(diào)用fun函數(shù),求得公式值?!窘忸}思路】1第一個(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=
16、0|j%11=0)&j%77!=0) /判斷是否符合題干要求 bk+=j; /將結(jié)果放入數(shù)組b *m=k; /將累加器值賦值給m【一起來(lái)審題】1該程序的解題思路,可以分解為以下幾步:判斷是否被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
17、%7=0|j%11=0,不能被11和7同時(shí)整除為j%77!=0,它們之間的并關(guān)系就用&連接,最后結(jié)果即為(j%7=0|j%11=0) & j%77!=0。最后,將符合條件的整數(shù)存入數(shù)組b中,同時(shí)對(duì)k進(jìn)行自加,將k值賦給m,返回結(jié)果?!局饕键c(diǎn)】數(shù)組操作;函數(shù)傳值;if條件語(yǔ)句;for循環(huán)語(yǔ)句。第三套一、填空題函數(shù)fun的功能是:從三個(gè)形參x、y、z中找出中間的那個(gè)數(shù),作為函數(shù)值返回。例如,當(dāng)x=121,y=456,z=333時(shí),中間的數(shù)為333。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句。注意:局部源程序給出如下。# include int
18、 fun(int a,int b,int c) int temp; temp=(ab) ? (bc ? b : (ac ? c : _1_) : (ac) ? _2_ : (bc) ? c : _3_); return temp;main() int x=121,y=456,z=333,mid; mid=fun(x,y,z); printf(nThe middle number is : %dn,mid);二、改錯(cuò)題以下給定程序中,函數(shù)fun和quest的功能是:用二分法求方程2x3-4x2+3x-6=0的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001。例如,假設(shè)給m輸入-50,給n輸入30,那么函數(shù)
19、求得的一個(gè)根值為2.000。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include double quest(double x) return (2*x*x*x-4*x*x+3*x-6);double fun(double m,double n) /*error*/ int r; r=(m+n)/2; /*error*/ while(fabs(n-m)0.001) if(quest(r)*quest(n)0) m=r; else n=r; r=(m+n)/2; return r;main() double m
20、,n,result; printf(Please input m n : n); scanf(%lf%lf,&m,&n); result=fun(m,n); printf(result=%6.3fn,result);三、編程題請(qǐng)編寫(xiě)函數(shù)void fun(int y,int b,int*m),它的功能是:求出能整除y且是奇數(shù)的各整數(shù),并按從小到大的順序放在b所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參m返回。例如,假設(shè)y中的值為90,那么有4個(gè)數(shù)符合要求,它們是1、3、5、9、15、45。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如
21、下。# include # include void fun(int y,int b,int *m) main() int y,a500,m,j; FILE *out; printf(nPlease input an integer number:n); scanf(%d,&y); fun(y,a,&m); for(j=0;jm;j+) printf(%d ,aj); printf(n); fun(730,a,&m); out=fopen(outfile.dat,w); for(j=0;jb) ? (bc ?表示a bc,根據(jù)題目要求,那么中間值為b,假設(shè)只是滿足第一個(gè)?前面的條件,而cb,那
22、么選擇執(zhí)行(ac ? c : _1_),當(dāng)ac時(shí)取值c,所以ac) ?是對(duì)a、c的比擬選擇,第三空處的(bc) ? c根據(jù)b、c的判斷,題目已經(jīng)給出了c,所以這里應(yīng)該是a,這樣第三空中對(duì)于b、c的判斷選擇缺少b,所以這里填b,同樣也可以根據(jù)第一空的邏輯關(guān)系進(jìn)行分析,來(lái)填寫(xiě)第二空和第三空?!局饕键c(diǎn)】選擇語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】1double r;2while(fabs(n-m)0.001)【一起來(lái)審題】1該題中函數(shù)功能是二分法求方程根。其中,二分法的求根過(guò)程,是將含根區(qū)間平均分為兩個(gè)小區(qū)間,然后判斷哪個(gè)區(qū)間是含根區(qū)間。在此根底上,將這里的小含根區(qū)間進(jìn)一步劃分為兩個(gè)更小的區(qū)間,繼續(xù)判斷
23、根所在區(qū)間。繼續(xù)細(xì)分下去,含根區(qū)間將劃分地越來(lái)越小,區(qū)間的范圍也越來(lái)越小。經(jīng)過(guò)屢次細(xì)分后,就可以將此很小區(qū)間的中點(diǎn)近似為方程的根了。2從已給定源程序的main主函數(shù)開(kāi)始入手,通過(guò)result=fun(m,n);語(yǔ)句調(diào)用fun函數(shù)求得方程根,其中fun函數(shù)對(duì)quest函數(shù)進(jìn)行調(diào)用,對(duì)根進(jìn)行判斷。【解題思路】1fun函數(shù)要求返回方程的一個(gè)根,由return語(yǔ)句來(lái)實(shí)現(xiàn),而函數(shù)fun是定義為double型的,但第一個(gè)標(biāo)識(shí)下面的r卻被定義為int類型。所以int r;改為double r;。2檢查while循環(huán)的控制表達(dá)式(fabs(n-m)0.001)。【主要考點(diǎn)】變量定義;邏輯關(guān)系?!敬鸢讣半y度指數(shù)
24、】int j=1,i=0,k=0,*s=b;for(j=0;j=y;j+) if(j%2!=0) /判斷j是否是奇數(shù) si=j;/將小于y的奇數(shù)存入數(shù)組s i+; /累加小于y的奇數(shù)個(gè)數(shù) for(j=0;ji;j+) if(y%sj=0) /判斷y是否被sj整除 bk=sj;/將符合條件的結(jié)果存入數(shù)組b k+; /累加符合條件的結(jié)果個(gè)數(shù) *m=k; 三【一起來(lái)審題】1該程序的解題思路可以分解為以下幾步:從0開(kāi)始逐個(gè)求得小于y的奇數(shù)按順序?qū)⑦@些奇數(shù)存入數(shù)組逐個(gè)判斷該數(shù)組中的值是否能整除y累加能整除y的數(shù)值個(gè)數(shù)最后按要求傳回結(jié)果。由于采取的是按照小于y的所有整數(shù)按照j+逐個(gè)增加的順序進(jìn)行判斷并依次
25、進(jìn)行存儲(chǔ)的思路,所以最后求得的結(jié)果是符合要求的,是由小到大排列的。2從已給局部源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)fun(y,a,&m);,其中m返回這些數(shù)的個(gè)數(shù),a傳給函數(shù)中的參數(shù)存放計(jì)算結(jié)果的數(shù)組b?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)1的分析:首先,通過(guò)小于y的循環(huán)條件,判斷小于y的每一個(gè)整數(shù)是否是奇數(shù)。其中的判斷條件if(j%2!=0),并且累計(jì)這些奇數(shù)個(gè)數(shù)i+;。然后,對(duì)前面求得的數(shù)組中的數(shù)值逐個(gè)進(jìn)行判斷,判斷其是否能整除y,其中的判斷條件if(y%sj=0),并且累計(jì)這些奇數(shù)個(gè)數(shù)k+;。最后,將符合條件的整數(shù)存入數(shù)組b中,將k值賦給m,返回結(jié)果。【主要考點(diǎn)】數(shù)組操作;函數(shù)傳值;if
26、條件語(yǔ)句;for循環(huán)語(yǔ)句。第四套一、填空題函數(shù)fun的功能是:從三個(gè)形參x、y、z中找出中間的那個(gè)數(shù),作為函數(shù)值返回。例如,當(dāng)x=121,y=456,z=333時(shí),中間的數(shù)為333。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句。注意:局部源程序給出如下。# include int fun(int a,int b,int c) int temp; temp=(ab) ? (bc ? b : (ac ? c : _1_) : (ac) ? _2_ : (bc) ? c : _3_); return temp;main() int x=121,y=
27、456,z=333,mid; mid=fun(x,y,z); printf(nThe middle number is : %dn,mid);二、改錯(cuò)題以下給定程序中,函數(shù)fun和quest的功能是:用二分法求方程2x3-4x2+3x-6=0的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001。例如,假設(shè)給m輸入-50,給n輸入30,那么函數(shù)求得的一個(gè)根值為2.000。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include double quest(double x) return (2*x*x*x-4*x*x+3*x-
28、6);double fun(double m,double n) /*error*/ int r; r=(m+n)/2; /*error*/ while(fabs(n-m)0.001) if(quest(r)*quest(n)0) m=r; else n=r; r=(m+n)/2; return r;main() double m,n,result; printf(Please input m n : n); scanf(%lf%lf,&m,&n); result=fun(m,n); printf(result=%6.3fn,result);三、編程題請(qǐng)編寫(xiě)函數(shù)void fun(int y,i
29、nt b,int*m),它的功能是:求出能整除y且是奇數(shù)的各整數(shù),并按從小到大的順序放在b所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參m返回。例如,假設(shè)y中的值為90,那么有4個(gè)數(shù)符合要求,它們是1、3、5、9、15、45。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include # include void fun(int y,int b,int *m) main() int y,a500,m,j; FILE *out; printf(nPlease input an integer number:n); scanf(
30、%d,&y); fun(y,a,&m); for(j=0;jm;j+) printf(%d ,aj); printf(n); fun(730,a,&m); out=fopen(outfile.dat,w); for(j=0;jb) ? (bc ?表示a bc,根據(jù)題目要求,那么中間值為b,假設(shè)只是滿足第一個(gè)?前面的條件,而cb,那么選擇執(zhí)行(ac ? c : _1_),當(dāng)ac時(shí)取值c,所以ac) ?是對(duì)a、c的比擬選擇,第三空處的(bc) ? c根據(jù)b、c的判斷,題目已經(jīng)給出了c,所以這里應(yīng)該是a,這樣第三空中對(duì)于b、c的判斷選擇缺少b,所以這里填b,同樣也可以根據(jù)第一空的邏輯關(guān)系進(jìn)行分析,來(lái)
31、填寫(xiě)第二空和第三空?!局饕键c(diǎn)】選擇語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】1double r;2while(fabs(n-m)0.001)【一起來(lái)審題】1該題中函數(shù)功能是二分法求方程根。其中,二分法的求根過(guò)程,是將含根區(qū)間平均分為兩個(gè)小區(qū)間,然后判斷哪個(gè)區(qū)間是含根區(qū)間。在此根底上,將這里的小含根區(qū)間進(jìn)一步劃分為兩個(gè)更小的區(qū)間,繼續(xù)判斷根所在區(qū)間。繼續(xù)細(xì)分下去,含根區(qū)間將劃分地越來(lái)越小,區(qū)間的范圍也越來(lái)越小。經(jīng)過(guò)屢次細(xì)分后,就可以將此很小區(qū)間的中點(diǎn)近似為方程的根了。2從已給定源程序的main主函數(shù)開(kāi)始入手,通過(guò)result=fun(m,n);語(yǔ)句調(diào)用fun函數(shù)求得方程根,其中fun函數(shù)對(duì)quest函
32、數(shù)進(jìn)行調(diào)用,對(duì)根進(jìn)行判斷。【解題思路】1fun函數(shù)要求返回方程的一個(gè)根,由return語(yǔ)句來(lái)實(shí)現(xiàn),而函數(shù)fun是定義為double型的,但第一個(gè)標(biāo)識(shí)下面的r卻被定義為int類型。所以int r;改為double r;。2檢查while循環(huán)的控制表達(dá)式(fabs(n-m)0.001)?!局饕键c(diǎn)】變量定義;邏輯關(guān)系。三、編程題【答案及難度指數(shù)】int j=1,i=0,k=0,*s=b;for(j=0;j=y;j+) if(j%2!=0) /判斷j是否是奇數(shù) si=j;/將小于y的奇數(shù)存入數(shù)組s i+; /累加小于y的奇數(shù)個(gè)數(shù) for(j=0;ji;j+) if(y%sj=0) /判斷y是否被sj
33、整除 bk=sj;/將符合條件的結(jié)果存入數(shù)組b k+; /累加符合條件的結(jié)果個(gè)數(shù) *m=k; 【一起來(lái)審題】1該程序的解題思路可以分解為以下幾步:從0開(kāi)始逐個(gè)求得小于y的奇數(shù)按順序?qū)⑦@些奇數(shù)存入數(shù)組逐個(gè)判斷該數(shù)組中的值是否能整除y累加能整除y的數(shù)值個(gè)數(shù)最后按要求傳回結(jié)果。由于采取的是按照小于y的所有整數(shù)按照j+逐個(gè)增加的順序進(jìn)行判斷并依次進(jìn)行存儲(chǔ)的思路,所以最后求得的結(jié)果是符合要求的,是由小到大排列的。2從已給局部源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)fun(y,a,&m);,其中m返回這些數(shù)的個(gè)數(shù),a傳給函數(shù)中的參數(shù)存放計(jì)算結(jié)果的數(shù)組b?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)1的分析:首先,通過(guò)
34、小于y的循環(huán)條件,判斷小于y的每一個(gè)整數(shù)是否是奇數(shù)。其中的判斷條件if(j%2!=0),并且累計(jì)這些奇數(shù)個(gè)數(shù)i+;。然后,對(duì)前面求得的數(shù)組中的數(shù)值逐個(gè)進(jìn)行判斷,判斷其是否能整除y,其中的判斷條件if(y%sj=0),并且累計(jì)這些奇數(shù)個(gè)數(shù)k+;。最后,將符合條件的整數(shù)存入數(shù)組b中,將k值賦給m,返回結(jié)果。【主要考點(diǎn)】數(shù)組操作;函數(shù)傳值;if條件語(yǔ)句;for循環(huán)語(yǔ)句。第五套一、填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤(pán)輸入一個(gè)長(zhǎng)整數(shù),如果這個(gè)數(shù)是負(fù)數(shù),那么取它的絕對(duì)值,并顯示出來(lái)。例如,輸入:-666,結(jié)果為:666。僅在橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句,請(qǐng)勿改動(dòng)函數(shù)中的其他任何內(nèi)容。注意
35、:局部源程序給出如下。# include # include main() long int a; printf(Enter the data:n); scanf(_1_); printf(The origial data is %ldn,a); if(a0) _2_; printf(n); printf(_3_);二、改錯(cuò)題以下給定程序中函數(shù)fun的功能是:求出在字符串中最后一次出現(xiàn)的子字符串的地址,通過(guò)函數(shù)值返回,在主函數(shù)中輸出從此地址開(kāi)始的字符串;假設(shè)未找到,那么函數(shù)值為NULL。例如,當(dāng)字符串中的內(nèi)容為abcdabfabcdx,t中的內(nèi)容為ab時(shí),輸出結(jié)果應(yīng)是:abcdx。當(dāng)字符串中的
36、內(nèi)容為abcdabfabcdx,t中的內(nèi)容為abd時(shí),那么程序輸出未找到信息not found!。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include # include char *fun(char *str,char *t) char *p,*r,*s; /*error*/ s=NuLL; while(*str) p=str; r=t; while(*r) /*error*/ if(r=p) r+; p+; else break; if(*r=0) s=str; str+; return s;m
37、ain() char str100,t100,*p; printf(nplease enter string s:); scanf(%s,str); printf(nplease enter substring t:); scanf(%s,t); p=fun(str,t); if(p) printf(nthe result is:%sn,p); else printf(nnot found!n);三、編程題編寫(xiě)函數(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)
38、容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(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); f
39、or(i=0 ;isum;i+) fprintf(out,%dn,bi); fclose(out);一、填空題【答案及難度指數(shù)】1%ld,&a2a=-a3%ld,a【一起來(lái)審題】該題中函數(shù)功能是取長(zhǎng)整數(shù)的絕對(duì)值。此類題的解題思路是判斷鍵盤(pán)輸入的長(zhǎng)整數(shù)的正負(fù),然后對(duì)其進(jìn)行操作?!窘忸}思路】第一空:獲得由鍵盤(pán)輸入的長(zhǎng)整數(shù),根據(jù)C語(yǔ)言提供的標(biāo)準(zhǔn)輸入函數(shù)scanf函數(shù)格式,第一空填%ld,&a。第二空:if(a1;i-) for(j=2;j=i) /假設(shè)是素?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ù)
40、。判斷i是不是素?cái)?shù)最簡(jiǎn)單的方法就是用2i-1去除i,只要能除盡就不是素?cái)?shù)?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:1首先,判斷i是否是素?cái)?shù),即是否能被2i-1整除。2假設(shè)是素?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ǔ)句。第6套一、填空題請(qǐng)補(bǔ)充函數(shù)fun,它的功能是:計(jì)算并輸出m包括m以內(nèi)能被2或5整除的所有自然數(shù)的倒數(shù)之和。例如,在主函數(shù)中從鍵盤(pán)給m輸入21后,輸出為:s=1.731151。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在fu
41、n函數(shù)的橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句。注意:局部源程序給出如下。# include double fun(int m) int j; double toal=0.0; for(j=1;_1_;j+) if(j%2=0 _2_ j%5=0) toal+=_3_/j; return toal;main() int m; double f; printf(nInput m: ); scanf(%d,&m); f=fun(m); printf(nns=%fn,f);二、改錯(cuò)題以下給定程序中,函數(shù)fun的功能是:按以下遞歸公式求函數(shù)值。10(n=1)fun(n)=fun(n-1)+2(n1)例如,
42、當(dāng)給n輸入6時(shí),函數(shù)值為20。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include /*error*/int fun(n) int m; /*error*/ if(n=1) m=10; else m=fun(n-1)+2; return (m);main() int n; printf(Enter n: ); scanf(%d,&n); printf(The result:%dnn,fun(n);三、編程題請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按ASCII碼降序排列。例如,原來(lái)的字符串為Ju
43、stabc,那么排序后輸出為Jutsbac。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include # include # include # include void fun(char *str,int n) main() char str10; FILE *out; printf(input string with seven characters:); gets(str); fun(str,7); printf(n%s,str); out=fopen(outfile.dat,w); strcpy(str,
44、Justsdf); fprintf(out,%s,str); fclose(out);一、填空題【答案及難度指數(shù)】1j=m2|31.0【一起來(lái)審題】1該程序功能是求小于等于m的所有被2或5整除的所有自然數(shù)的倒數(shù)之和。從已給局部源程序的main主函數(shù)開(kāi)始入手,主函數(shù)f=fun(m);通過(guò)鍵盤(pán)輸入自然數(shù)m,作為參數(shù)傳給函數(shù)double fun(int m)中的m。2進(jìn)入fun函數(shù),首先通過(guò)循環(huán)對(duì)小于m的自然數(shù)進(jìn)行判斷,求得所有被2或5整除的自然數(shù),然后求得該自然數(shù)的倒數(shù)并對(duì)其求和?!窘忸}思路】第一空:for(j=1;_1_;j+),根據(jù)題目要求,對(duì)所有小于等于m的數(shù)值進(jìn)行循環(huán)判斷,條件應(yīng)該是滿足j
45、=m,因此第一空應(yīng)填j=m。第二空:判斷是否能被2或5整除,其中的判斷條件中的或用邏輯語(yǔ)句應(yīng)為|,因此第二空應(yīng)填|。第三空:toal+=_3_/j;語(yǔ)句是對(duì)滿足被2或5整除的自然數(shù)的倒數(shù)求和,函數(shù)的返回值為double型,所以j的倒數(shù)為1.0/j,因此第三空應(yīng)填1.0?!局饕键c(diǎn)】邏輯語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】1int fun(int n)2if(n=1)【一起來(lái)審題】1該題中函數(shù)功能是按題目中給出的遞歸公式求函數(shù)值。其中,遞歸是指函數(shù)直接或者間接調(diào)用函數(shù)本身的一種方法。2從已給定源程序的main主函數(shù)開(kāi)始入手,從鍵盤(pán)獲得輸入的參數(shù)n,然后通過(guò)printf(The result:%dn
46、n,fun(n);語(yǔ)句調(diào)用fun函數(shù),計(jì)算公式的值?!窘忸}思路】1定義函數(shù)fun時(shí),形參n并沒(méi)有指定參數(shù)類型,因此,int fun(n)改為int fun(int n)。2根據(jù)題目要求,原題中的if(n=1)應(yīng)該是用于判斷n是否等于1,但是被錯(cuò)誤表示成賦值表達(dá)式。因此,if(n=1)應(yīng)該改為if(n=1)?!局饕键c(diǎn)】函數(shù)定義;邏輯表達(dá)式。三、編程題【答案及難度指數(shù)】char t;int i,j;for(i=1;in-2;i+) /對(duì)n個(gè)元素進(jìn)行循環(huán)選擇 for(j=i+1;jn-1;j+) if(stristrj) /將stri設(shè)為最大值,和剩下的jn-1進(jìn)行比擬 t=stri; stri=
47、strj; strj=t; 【一起來(lái)審題】該程序功能是對(duì)字符的排序。字符的排序有多種方法,如冒泡排序、選擇排序等。此題答案中采用的是選擇排序。其中,選擇排序法的降序排序,首先從數(shù)組中挑選一個(gè)最大的元素,把它和第一個(gè)元素交換,接著從剩下的n-1個(gè)元素中再跳出一個(gè)最大的元素,把它和第二個(gè)元素交換,不斷重復(fù)以上過(guò)程,直到比擬完最后兩個(gè)元素?!窘忸}思路】進(jìn)入fun函數(shù),根據(jù)前面的分析:選擇排序法中的降序排序,首先從數(shù)組中挑選一個(gè)最大的元素,把它和第一個(gè)元素交換,接著從剩下的n-1個(gè)元素中再挑出一個(gè)最大的元素,把它和第二個(gè)元素交換,不斷重復(fù)以上過(guò)程,直到比擬完最后兩個(gè)元素?!局饕键c(diǎn)】數(shù)組操作;函數(shù)傳值
48、;if條件語(yǔ)句;for循環(huán)語(yǔ)句。第七套一、填空題請(qǐng)補(bǔ)充fun函數(shù),該函數(shù)的功能是把從鍵盤(pán)輸入的3個(gè)整數(shù)按從大到小輸出。例如,輸入11 65 13,結(jié)果輸出65 13 11。僅在橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句,請(qǐng)勿改動(dòng)函數(shù)中的其他任何內(nèi)容。注意:局部源程序給出如下。# include # include main() int a,b,c,t; printf(Input a,b,cn); scanf(%d%d%d,&a,&b,&c); if(_1_) t=a; a=b; b=t; if(_2_) t=c; c=a; a=t; if(_3_) t=b; b=c; c=t; printf(The
49、resultn); printf(from big to small: %d %d %dn,a,b,c);二、改錯(cuò)題以下給定程序中,計(jì)算如下公式的值:函數(shù)fun的功能是:根據(jù)整型形參m的值,計(jì)算上面公式。例如,假設(shè)m的值為10,那么應(yīng)輸出:0.450232。請(qǐng)修改程序中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include double fun(int m) double c=1.0; int k;/*error*/ for(k=2;km;k+) /*error*/ c-=1/(k*k); return(c);main(
50、) int para=10; printf(nThe result is %1fn,fun(para);三、編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)不得調(diào)用C語(yǔ)言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù)。例如,假設(shè)輸入字符串:-999,那么函數(shù)把它轉(zhuǎn)換為整數(shù)值:-999。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include # include long fun(char *str) main() char s10; long n; FILE *out; char *t=123,789,71
51、02,-4356; printf(Enter a string:n); gets(s); n=fun(s); printf(%ldn,n); out=fopen(outfile.dat,w); for(n=0;n4;n+) fprintf(out,%ldn,fun(tn); fclose(out);一、填空題【答案及難度指數(shù)】1ab2ac3bc【一起來(lái)審題】該題中函數(shù)功能是把從鍵盤(pán)輸入的三個(gè)整數(shù)按從大到小的順序輸出。此題中函數(shù)的實(shí)現(xiàn)過(guò)程是通過(guò)if語(yǔ)句分別對(duì)三個(gè)整數(shù)進(jìn)行兩兩判斷。【解題思路】第一空:根據(jù)第一空下面的三條賦值語(yǔ)句,可以很清楚地知道第一個(gè)if條件語(yǔ)句中是對(duì)a與b進(jìn)行比擬。題干要求對(duì)三
52、個(gè)數(shù)按從大到小的順序輸出,if下面的交換關(guān)系說(shuō)明,當(dāng)a小于b時(shí)要對(duì)a與b的位置進(jìn)行交換,所以第一空填ab。同理,第二空填ac,第三空填bc。【主要考點(diǎn)】if條件語(yǔ)句。二、改錯(cuò)題【答案及難度指數(shù)】1for(k=2;k=m;k+)2c-=1.0/(k*k);【一起來(lái)審題】該程序功能是根據(jù)題目要求計(jì)算公式。從已給定源程序的main主函數(shù)開(kāi)始入手,printf(nThe result is%1fn,fun(para);語(yǔ)句中的fun(para)將參數(shù)para傳給函數(shù)double fun(int m)中的m,實(shí)現(xiàn)公式的計(jì)算結(jié)果。【解題思路】1第一個(gè)標(biāo)識(shí)下面,for(k=2;km;k+)中的循環(huán)條件根據(jù)題
53、干中的公式,可以知道要計(jì)算的公式中應(yīng)包括k=m時(shí)的值,所以循環(huán)條件應(yīng)該改為for(k=2;k=m;k+)。2第二個(gè)標(biāo)識(shí)下面,因?yàn)閏被定義為浮點(diǎn)型,k被定義為整型,所以1/(k*k)的計(jì)算結(jié)果為整型,即c-=1/(k*k);的返回值為整型,隨著k的增加,計(jì)算結(jié)果一直為0,因此改為c-=1.0/(k*k);?!局饕键c(diǎn)】C語(yǔ)言根本語(yǔ)法;變量類型。三、編程題【答案及難度指數(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;
54、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; /負(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ù)左移一位,
55、把str當(dāng)前所指字符轉(zhuǎn)換成數(shù)字再加上低位,從而把數(shù)字字符串轉(zhuǎn)換成一個(gè)整數(shù)。【主要考點(diǎn)】數(shù)組操作;for循環(huán)語(yǔ)句。第8套一、填空題給定程序的功能是分別統(tǒng)計(jì)字符串中大寫(xiě)字母和小寫(xiě)字母的個(gè)數(shù)。例如,給字符串str輸入:sfd34ddfoFFDEsd23sdf,那么輸出結(jié)果應(yīng)為:cap=4,min=13請(qǐng)勿改動(dòng)函數(shù)中的其他內(nèi)容,僅在橫線上填寫(xiě)所需的假設(shè)干表達(dá)式或語(yǔ)句。注意:局部源程序給出如下。# include void fun(char *str,int *x,int *y) while(*str) if(*str=A & *str=a & *str=z) _2_; str+; main() cha
56、r str100; int cap=0,min=0; printf(nPlease a string to count : ); gets(str); fun(str,&cap,&min); printf(n cap=%d min=%dn,_3_);二、改錯(cuò)題以下給定程序中,函數(shù)fun的功能是:根據(jù)以下公式求值,并作為函數(shù)值返回。例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出Pi=3.140578。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu)。# include # include # include double fu
57、n(double eps) double r,temp; int m=1; r=0.0; /*error*/ temp=0; /*error*/ while(temp=eps) r+=temp; temp=(temp*m)/(2*m+1); m+; return (r*2);main() double x; printf(nPlease enter a precision: ); scanf(%lf,&x); printf(neps=%lf,Pi=%lfnn,x,fun(x);三、編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:比擬兩個(gè)字符串的長(zhǎng)度(不得調(diào)用C語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較
58、長(zhǎng)的字符串。假設(shè)兩個(gè)字符串長(zhǎng)度相同,那么返回第一個(gè)字符串。例如,輸入beijing和shanghai兩個(gè)字符串,函數(shù)將返回shanghai。請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的假設(shè)干語(yǔ)句。注意:局部源程序給出如下。# include char *fun(char *str,char *t) main() char a20,b10,*p,*q; int i; FILE *out; printf(Input one string:); gets(a); printf(Input another string:); gets(b); printf(%sn
59、,fun(a,b); out=fopen(outfile.dat,w); fprintf(out,%s,fun(hunan,changsha); fclose(out);一、填空題【答案及難度指數(shù)】1(*x)+2(*y)+3cap,min【一起來(lái)審題】1該程序功能是統(tǒng)計(jì)字符串中大寫(xiě)字母和小寫(xiě)字母的個(gè)數(shù)。2從已給局部源程序的main主函數(shù)開(kāi)始入手,主函數(shù)執(zhí)行fun(str,&cap,&min);,將參數(shù)cap、min傳遞給fun函數(shù)的x、y參數(shù),void fun(char *str,int *x,int *y)對(duì)大、小寫(xiě)字母進(jìn)行統(tǒng)計(jì)。3進(jìn)入fun函數(shù),通過(guò)while循環(huán)對(duì)字符串中的每一個(gè)字符進(jìn)行
60、判斷,然后對(duì)其進(jìn)行計(jì)數(shù)統(tǒng)計(jì)?!窘忸}思路】第一空:if(*str=A & *str=eps)【一起來(lái)審題】該題中函數(shù)功能是根據(jù)公式計(jì)算值。從已給定源程序的main主函數(shù)開(kāi)始入手,通過(guò)鍵盤(pán)輸入制定精度,然后通過(guò)printf(neps=%lf,Pi=%lfnn,x,fun(x);語(yǔ)句來(lái)調(diào)用fun函數(shù)?!窘忸}思路】1根據(jù)題目中的公式,應(yīng)該從1開(kāi)始加。如果temp起始為0,結(jié)果就少加一個(gè)1。又由于temp定義為浮點(diǎn)數(shù),所以,第一個(gè)錯(cuò)誤標(biāo)識(shí)下應(yīng)該將temp=0;改為temp=1.0;。2根據(jù)題目知,當(dāng)精度大于等于給定的精度變量eps時(shí),就會(huì)繼續(xù)進(jìn)行計(jì)算,直到滿足精度小于給定的eps,所以,第二個(gè)標(biāo)識(shí)下應(yīng)該
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西歐生物科技行業(yè)市場(chǎng)供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025年察亞縣幼兒園教師招教考試備考題庫(kù)附答案解析(必刷)
- 航空運(yùn)輸行業(yè)市場(chǎng)供需格局評(píng)估行業(yè)競(jìng)爭(zhēng)發(fā)展管理規(guī)劃研究報(bào)告
- 航天相關(guān)行業(yè)市場(chǎng)供需發(fā)展態(tài)勢(shì)考察及投資布局規(guī)劃報(bào)告
- 2025年賓川縣招教考試備考題庫(kù)含答案解析(奪冠)
- 2025年茌平縣幼兒園教師招教考試備考題庫(kù)及答案解析(奪冠)
- 2025年成都文理學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2025年班瑪縣幼兒園教師招教考試備考題庫(kù)含答案解析(奪冠)
- 2026湖北襄陽(yáng)市市直學(xué)校公費(fèi)師范生專項(xiàng)招聘31人考試備考題庫(kù)及答案1套
- 2026年大學(xué)生計(jì)算機(jī)考試題庫(kù)200道及答案【易錯(cuò)題】
- 2025年學(xué)法普法考試答案(全套)
- 醫(yī)學(xué)裝備管理與使用理論考核試題及答案
- 醫(yī)院產(chǎn)科培訓(xùn)課件:《妊娠期宮頸疾病的診治策略》
- 水質(zhì)監(jiān)測(cè)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 國(guó)家集采中選目錄1-8批(完整版)
- 【員工關(guān)系管理研究國(guó)內(nèi)外文獻(xiàn)綜述2800字】
- 《三只小豬蓋房子》拼音版故事
- GB 7101-2022食品安全國(guó)家標(biāo)準(zhǔn)飲料
- YS/T 921-2013冰銅
- GB/T 6072.1-2008往復(fù)式內(nèi)燃機(jī)性能第1部分:功率、燃料消耗和機(jī)油消耗的標(biāo)定及試驗(yàn)方法通用發(fā)動(dòng)機(jī)的附加要求
- GB/T 3883.201-2017手持式、可移式電動(dòng)工具和園林工具的安全第2部分:電鉆和沖擊電鉆的專用要求
評(píng)論
0/150
提交評(píng)論