2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫 - 21-40套.doc_第1頁
2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫 - 21-40套.doc_第2頁
2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫 - 21-40套.doc_第3頁
2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫 - 21-40套.doc_第4頁
2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫 - 21-40套.doc_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2017年全國(guó)計(jì)算機(jī)等級(jí)考試C語言上機(jī)考試題庫學(xué)生練習(xí)用第21套至第40套第二十一套1、程序填空給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,計(jì)算出這些數(shù)值的累加和作為函數(shù)值返回。例如,形參s所指的字符串為abs5def126jkm8,程序執(zhí)行后的輸出結(jié)果為22。請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #include int fun(char *s) int sum=0; while(*s) /*found*/ if( isdigit(*s) ) sum+= *s- _1_ ;/*found*/ _2_; /*found*/ return _3_ ;main() char s81; int n; printf(nEnter a string:nn); gets(s); n=fun(s); printf(nThe result is: %dnn,n);-【參考答案】(1)48 (2)s+ (3)sum【解題思路】本題是把字符串中是數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值并進(jìn)行累加。填空1:0字符對(duì)應(yīng)的ASCII碼值是48,因此數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)數(shù)值時(shí)只要減去48,即是該數(shù)字字符對(duì)應(yīng)的數(shù)值,所以應(yīng)填48。填空2:判斷完一個(gè)字符之后,將字符串指針移到下一個(gè)位置,所以應(yīng)填s。填空3:返回累加和sum,所以應(yīng)填sum。2、程序修改下列給定的程序中,函數(shù)fun的功能是:計(jì)算并輸出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。k的值由主函數(shù)傳入,若k的值為500,則函數(shù)的值為4622。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #include int fun(int k) int m=0,mc=0, j; while(k=2)&(mc10) /*found*/ if(k%13=0)|(k%17=0) m=m+k;mc+; k-;/*found*/ return m;void main()system(CLS); printf(%dn ,fun(500);-【參考答案】(1)if(k%13=0)|(k%17=0)(2) return m;【解題思路】(1)C語言中,x能被y整除的表示方法是x%y0,而不是題目中所表示的x%y0。所以,if(k%130)|(k%170)修改后的結(jié)果應(yīng)該是答案所示信息。(2)程序中缺少程序完整所需的,此類信息在做題時(shí)一定要注意,可以在做題前先運(yùn)行一下程序,這樣明顯的錯(cuò)誤一般都會(huì)有錯(cuò)誤信息顯示出來。比如丟失的錯(cuò)誤信息是Compound statement missing in function fun。3、程序設(shè)計(jì)編寫函數(shù)fun,它的功能是:求小于形參n同時(shí)能被3與7整除的所有自然數(shù)之和的平方根,并作為函數(shù)值返回。例如,若n為1000時(shí),程序輸出應(yīng)為:s153.909064。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。-#include #include double fun( int n)main() /* 主函數(shù) */ void NONO (); printf(s =%fn, fun ( 1000) ); NONO();void NONO ()/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */ FILE *fp, *wf ; int i, n ; double s; fp = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(fp, %d, &n) ; s = fun(n) ; fprintf(wf, %fn, s) ; fclose(fp) ; fclose(wf) ;-【參考答案】 double fun(int n) double sum=0.0; int i; for(i=21;i=n;i+) if(i%3=0)&(i%7=0) sum+=i; return sqrt(sum); 【解題思路】本題考查算術(shù)運(yùn)算的算法,首先利用一個(gè)for循環(huán)判斷小于n且能同時(shí)被3和7整除的整數(shù),并將滿足條件的整數(shù)累加到sum,之后調(diào)用sqrt函數(shù)計(jì)算sum的平方根,并作為函數(shù)的返回值。第二十二套1、程序填空給定程序中,函數(shù)fun的功能是:找出形參s所指字符串中出現(xiàn)頻率最高的字母(不區(qū)分大小寫),并統(tǒng)計(jì)出其出現(xiàn)的次數(shù)。例如,形參s所指的字符串為:abcAbsmaxless,程序執(zhí)行后的輸出結(jié)果為:lettera:3timesletters:3times請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #include void fun(char *s) int k26=0,n,i,max=0; char ch; while(*s) if( isalpha(*s) ) /*found*/ ch=tolower(_1_); n=ch-a;/*found*/ kn+= _2_ ; s+;/*found*/ if(maxkn) max= _3_ ; printf(nAfter count :n); for(i=0; i26;i+) if (ki=max) printf(nletter %c : %d timesn,i+a,ki);main() char s81; printf(nEnter a string:nn); gets(s); fun(s);-【參考答案】(1)*s (2)1 (3)kn【解題思路】本題統(tǒng)計(jì)字符串中各字母的個(gè)數(shù),建立了一個(gè)包括26個(gè)整型變量的數(shù)組,用來存儲(chǔ)每個(gè)字母的個(gè)數(shù)。填空1:isalpha函數(shù)的作用是判斷當(dāng)前字符是否為字母,tolower函數(shù)的作用是將當(dāng)前字母轉(zhuǎn)換為小寫字母,所以應(yīng)填*s。填空2:把該字母出現(xiàn)的個(gè)數(shù)累加到指定的數(shù)組中,所以應(yīng)填1。填空3:max用來記錄出現(xiàn)次數(shù)最高的字母的出現(xiàn)次數(shù),如果當(dāng)前該字母出現(xiàn)次數(shù)大于最大次數(shù)max,那么把該次數(shù)賦值給max,所以應(yīng)填kn。2、程序修改下列給定程序中,函數(shù)fun的功能是:求S的值。 例如,當(dāng)k為10時(shí),函數(shù)的值應(yīng)為1.533852。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #include #include /*found*/fun(int k) int n; float s, w, p, q; n=1; s=1.0; while(n=k) w=2.0*n; p=w-1.0; q=w+1.0; s=s*w*w/p/q; n+; /*found*/ return svoid main() system(CLS); printf(%fn ,fun(10);-【參考答案】(1)float fun(int k)(2)return s;【解題思路】(1)此處為函數(shù)定義錯(cuò)誤,根據(jù)返回值的類型可知函數(shù)類型標(biāo)識(shí)符應(yīng)為float。(2)語法錯(cuò)誤。3、程序設(shè)計(jì)請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出下列多項(xiàng)式的值。 例如,當(dāng)n10時(shí),函數(shù)值為0.909091。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。-#include#include#includedouble fun(int n) void main() FILE *wf; system(CLS); printf(%fn,fun(10);/*/ wf=fopen(out.dat,w); fprintf(wf,%f,fun(10); fclose(wf);/*/-【參考答案】double fun(int n) int i; double s=0.0; for(i=1;i=n;i+) s=s+1.0/(i*(i+1); /*求級(jí)數(shù)的和*/ return s;【解題思路】本題要求級(jí)數(shù)的和,由多項(xiàng)式的形式可知,應(yīng)使用循環(huán)語句實(shí)現(xiàn),循環(huán)的通項(xiàng)為1/n(n+1)。本程序首先定義了和變量及循環(huán)變量,然后運(yùn)用一個(gè)for語句求出級(jí)數(shù)的和,最后將和變量s返回。第二十三套1、程序填空給定程序中,函數(shù)fun的功能是:利用指針數(shù)組對(duì)形參ss所指字符串?dāng)?shù)組中的字符串按由長(zhǎng)到短的順序排序,并輸出排序結(jié)果。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長(zhǎng)小于M。請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #define N 5#define M 8void fun(char (*ss)M) char *psN,*tp; int i,j,k; for(i=0; iN; i+) psi=ssi; for(i=0; iN-1; i+) /*found*/ k= _1_ ; for(j=i+1; jN; j+)/*found*/ if(strlen(psk) strlen(_2_) ) k=j;/*found*/ tp=psi; psi=psk; psk= _3_ ; printf(nThe string after sorting by length:nn); for(i=0; iN; i+) puts(psi);main() char chNM=red,green,blue,yellow,black; int i; printf(nThe original stringnn); for(i=0;iN;i+)puts(chi); printf(n); fun(ch);-【參考答案】(1)i (2)psj (3)tp【解題思路】本題是按字符串的長(zhǎng)短進(jìn)行排序。填空1:外循環(huán)每循環(huán)一次,k應(yīng)保存當(dāng)前的i值,所以應(yīng)填i。填空2:使用內(nèi)循環(huán)對(duì)i1后面的字符串長(zhǎng)度進(jìn)行比較,所以應(yīng)填psj。填空3:此處的作用是交換兩個(gè)變量的值,所以應(yīng)填tp。2、程序修改已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng):0、0、1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。n的值通過形參傳入。例如,當(dāng)n10時(shí),程序的輸出結(jié)果應(yīng)為23.197745。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include #include #include /*found*/fun(int n) double sum, s0, s1, s2, s; int k; sum=1.0; if (n=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; for (k=4;k=n;k+) s=s0+s1+s2; sum+=sqrt(s); s0=s1;s1=s2;s2=s; /*found*/ return sumvoid main()int n; system(CLS); printf(Input N=); scanf(%d,&n); printf(%fn,fun(n);-【參考答案】(1)double fun(int n)(2)return sum;【解題思路】(1)根據(jù)函數(shù)的返回值可知函數(shù)fun應(yīng)定義為double類型。(2)語法錯(cuò)誤,缺分號(hào)。3、程序設(shè)計(jì)請(qǐng)編寫函數(shù)fun,它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。 例如,當(dāng)n10,x0.3時(shí),函數(shù)值為1.349859。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。-#include#include#include#includedouble fun(double x, int n) void main() FILE *wf; system(CLS); printf(%f ,fun(0.3,10);/*/ wf=fopen(out.dat,w); fprintf(wf,%f,fun(0.3,10); fclose(wf);/*/-【參考答案】double fun(double x,int n) int i; double s=1.0,s1=1.0; for(i=1;i=n;i+) s1=s1*i; /*各項(xiàng)中的階乘*/ s=s+pow(x,i)/s1; /*按公式求出*/ return s;【解題思路】程序定義了變量s1和s,s1表示每項(xiàng)的分母(即各項(xiàng)的階乘),s存放累加和。循環(huán)語句控制累加的次數(shù),在循環(huán)體中進(jìn)行階乘和累加操作,累加的結(jié)果存入s中。此處使用了求乘方函數(shù)pow(x,i),其含義是求x的i次方的值。第二十四套1、程序填空給定程序中,函數(shù)fun的功能是:根據(jù)形參i的值返回某個(gè)函數(shù)的值。當(dāng)調(diào)用正確時(shí),程序輸出:x15.000000,x23.000000,x1*x1+x1*x2=40.000000。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include double f1(double x) return x*x; double f2(double x, double y) return x*y; /*found*/_1_ fun(int i, double x, double y) if (i=1)/*found*/ return _2_(x); else/*found*/ return _3_(x, y);main() double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf(nx1=%f, x2=%f, x1*x1+x1*x2=%fnn,x1, x2, r);-【參考答案】(1)double (2)f1 (3)f2【解題思路】填空1:本空函數(shù)fun的返回值,根據(jù)return可知,不論返回的是f1還是f2,它們的返回值均為double型的,故此空應(yīng)該填寫double。填空2:因?yàn)楹瘮?shù)fun的功能是根據(jù)形參i的值返回某個(gè)函數(shù)的值,當(dāng)i等于1時(shí),應(yīng)該返回的是f1。填空3:如果不滿足if的話,應(yīng)該返回的是f2。2、程序修改下列給定程序中,函數(shù)fun的功能是:比較兩個(gè)字符串,將長(zhǎng)的字符串的首地址作為函數(shù)值返回。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include /*found*/double fun(char *s,char *t) int s1=0,t1=0; char *ss,*tt; ss=s; tt=t; while(*ss) s1+; /*found*/(*ss)+; while(*tt) t1+;/*found*/(*tt)+; if(t1s1)return t; elsereturn s;void main() char a80,b80; printf(nEnter a string : ); gets(a); printf(nEnter a string again: ); gets(b); printf(nThe longer is :nn%sn, fun(a,b);-【參考答案】(1)char *fun(char *s,char *t)(2)ss+;(3)tt+;【解題思路】(1)在主函數(shù)的輸出語句中,函數(shù)fun是以字符串格式輸出的,所以定義函數(shù)時(shí)應(yīng)為char *fun( char *s,char *t)。(2)和(3)這里是地址加1,而不是內(nèi)容加1,所以改為ss+和tt+。3、程序設(shè)計(jì)請(qǐng)編寫函數(shù)fun,其功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則是把第1m個(gè)字符,平移到字符串的最后,把第m1到最后的字符移到字符串的前部。例如,字符串中原有的內(nèi)容為ABCDEFGHIJK,m的值為3,移動(dòng)后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。-#include #include #define N 80void fun (char *w,int m) void main() FILE *wf; char aN= ABCDEFGHIJK,bN= ABCDEFGHIJK; int m; printf(The origina string :n); puts(a); printf(nnEnter m: ); scanf(%d,&m); fun(a,m); printf(nThe string after moving :n); puts(a); printf(nn);/*/ wf=fopen(out.dat,w); fun(b,3); fprintf(wf,%s,b); fclose(wf);/*/-【參考答案】void fun (char *w,int m) int i,j; char t; for(i=1;i=m;i+) /*進(jìn)行m次的循環(huán)左移*/ t=w0; for(j=1;wj!=0;j+) /*從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符*/ wj-1=wj; wj-1=t; /*將第1個(gè)字符放到最后一個(gè)字符中*/ 【解題思路】本題應(yīng)采用循環(huán)左移的算法,多層循環(huán)用于控制移動(dòng)的字符的個(gè)數(shù),即需進(jìn)行多少次循環(huán),內(nèi)嵌循環(huán)的作用是將從第2個(gè)字符以后的每個(gè)字符依次前移一個(gè)位置,最后將第1個(gè)字符放到最后一個(gè)字符中。第二十五套1、程序填空程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學(xué)生數(shù)據(jù),并按照學(xué)號(hào)從小到大排序后,再用二進(jìn)制方式把排序后的學(xué)生數(shù)據(jù)輸出到filename所指的文件中,覆蓋原來的文件內(nèi)容。請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #define N 5typedef struct student long sno; char name10; float score3; STU;void fun(char *filename) FILE *fp; int i, j; STU sN, t;/*found*/ fp = fopen(filename, _1_); fread(s, sizeof(STU), N, fp); fclose(fp); for (i=0; iN-1; i+) for (j=i+1; jN; j+)/*found*/ if (si.sno _2_ sj.sno) t = si; si = sj; sj = t; fp = fopen(filename, wb);/*found*/ _3_(s, sizeof(STU), N, fp); fclose(fp);main() STU tN= 10005,ZhangSan, 95, 80, 88, 10003,LiSi, 85, 70, 78, 10002,CaoKai, 75, 60, 88, 10004,FangFang, 90, 82, 87, 10001,MaChao, 91, 92, 77, ssN; int i,j; FILE *fp; fp = fopen(student.dat, wb); fwrite(t, sizeof(STU), 5, fp); fclose(fp); printf(nnThe original data :nn); for (j=0; jN; j+) printf(nNo: %ld Name: %-8s Scores: ,tj.sno, ); for (i=0; i3; i+) printf(%6.2f , tj.scorei); printf(n); fun(student.dat); printf(nnThe data after sorting :nn); fp = fopen(student.dat, rb); fread(ss, sizeof(STU), 5, fp); fclose(fp); for (j=0; jN; j+) printf(nNo: %ld Name: %-8s Scores: ,ssj.sno, ); for (i=0; i (3)fwrite【解題思路】填空1:題目中要求從形參filename所指的文件中讀入學(xué)生的數(shù)據(jù),以此可以看出本空應(yīng)該填寫rb。填空2:此處的if語句是比較學(xué)號(hào)的大小,如果學(xué)號(hào)大就和學(xué)號(hào)小的換位,以此本空填寫。填空3:題目要求所有的學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中,因此本空填寫fwrite。2、程序修改下列給定程序中函數(shù)fun的功能是:在字符串的最前端加入n個(gè)*號(hào),形成新串,并且覆蓋原串。字符串的長(zhǎng)度最長(zhǎng)允許為79。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!-#include #include void fun ( char s, int n ) char a80 , *p; int i;/*found*/ s=p; for(i=0; in; i+) ai=*; do ai=*p; i+; /*found*/ while(*p+) ai=0; strcpy(s,a);main() int n; char s80; printf(nEnter a string : ); gets(s); printf(nThe string %sn,s); printf(nEnter n ( number of * ) : ); scanf(%d,&n); fun(s,n); printf(nThe string after insert : %s n ,s);-【參考答案】(1)p=s;(2)while(*p+);【解題思路】(1)指針p應(yīng)指向s,所以應(yīng)改為p=s;。(2)循環(huán)等待,當(dāng)while循環(huán)執(zhí)行一次,臨時(shí)變量p應(yīng)該指向字符串的下一位置,所以應(yīng)改為while(*p+);。3、程序設(shè)計(jì)請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計(jì)各年齡段的人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放入主函數(shù)的age數(shù)組中。要求函數(shù)把09歲年齡段的人數(shù)放在d0中,把1019歲年齡段的人數(shù)放在d1中,把2029歲年齡段的人數(shù)放在d2中,依此類推,把100歲(含100歲)以上年齡的人數(shù)都放在d10中。結(jié)果在主函數(shù)中輸出。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。-#include # define N 50# define M 11void fun(int *a, int *b) double rnd() static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return(double)r/m);void main() FILE *wf; int ageN, i,dM; int bN=32,45,15,12,86,49,97,3,44,52,17,95,63; for(i=0; iN; i+) agei=(int)(115*rnd(); /*產(chǎn)生一個(gè)隨機(jī)的年齡數(shù)組*/ printf(The original data :n); for(i=0; iN; i+) printf(i+1)%10=0? %4dn:%4d,agei); /*每行輸出10個(gè)數(shù)*/ printf(nn); fun(age,d); for(i=0; i10; i+) printf(%4d-%4d :%4dn, i*10, i*10+9,di); printf(Over 100 : %4dn,d10);/*/ wf=fopen(out.dat,w); fun(b,d); for(i=0; i10; i+) fprintf(wf,%4d-%4d :%4dn, i*10, i*10+9,di); fprintf(wf,Over 100 : %4d,d10); fclose(wf);/*/-【參考答案】void fun(int *a,int *b) int i,j; for(j=0;jM;j+) bj=0; /*數(shù)組b初始化為0*/ for(i=0;i=100) b10+; /*如果年齡大于等于100,b10自增1*/ else bai/10+; /*如果年齡小于100,則將其分別統(tǒng)計(jì)到bai/10中*/【解題思路】本題是一個(gè)分段函數(shù)的問題,用兩個(gè)循環(huán)來完成。第1個(gè)循環(huán)的作用是使b中的所有元素值都為0。這個(gè)循環(huán)不能省略,因?yàn)槿粑磳?duì)b中的元素賦初值,則它們的值是不可預(yù)測(cè)的。第2個(gè)循環(huán)的作用是分別統(tǒng)計(jì)a中各年齡段的人數(shù)。當(dāng)ai100時(shí),按題意要將其統(tǒng)計(jì)到b10中。else的作用是如果年齡

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論