【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】

上傳人:仙*** 文檔編號(hào):28253869 上傳時(shí)間:2021-08-24 格式:DOC 頁數(shù):72 大?。?66KB
收藏 版權(quán)申訴 舉報(bào) 下載
【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】_第1頁
第1頁 / 共72頁
【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】_第2頁
第2頁 / 共72頁
【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】_第3頁
第3頁 / 共72頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】》由會(huì)員分享,可在線閱讀,更多相關(guān)《【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】(72頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 1. 填空 給定程序的功能是調(diào)用fun函數(shù)建立班級(jí)通訊錄。通訊錄中記錄每位學(xué)生的編號(hào),姓名和電話號(hào)碼。班級(jí)的人數(shù)和學(xué)生的信息從鍵盤讀入,每個(gè)人的信息作為一個(gè)數(shù)據(jù)塊寫到名為myfile5.dat的二進(jìn)制文件中。 請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。 注意:源程序存放在考生文件夾下的BLANK1.c中 不得增行或刪行,也不得更改程序的結(jié)構(gòu)! void check(); /**********found**********/ int fun(___1___ *std) { /**********found********

2、**/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

3、的功能是:先將在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序連接到t串后面。 例如:當(dāng)s中的字符串為:“ABCDE”時(shí), 則他中的字符串應(yīng)為:“ABCDEEDCBA”。 請(qǐng)改正程序中的錯(cuò)誤,使他能得出正確的結(jié)果。 注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)! void fun (char *s, char *t) { int i, sl; sl = strlen(s); /************found************/ for( i=0; i<=s1; i ++) t[i

4、] = s[i]; for (i=0; i

5、中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。 答案: B: STYPE FILE fp M: for(i = 0 ; i < sl ; i++) t[2*sl] = 0; P: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 2. 填空 給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個(gè)字符),寫到文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)記。然后將文件的內(nèi)容讀出顯示在屏幕上。文件的讀寫分別有自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。 請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的

6、內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。 注意:源程序存放在考生文件夾下的BLANK1.c中 不得增行或刪行,也不得更改程序的結(jié)構(gòu)! main() { FILE *fp; if((fp=fopen("myfile4.txt","w"))==NULL) { printf(" open fail!!\n"); exit(0); } WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt","r"))==NULL) { printf(" open fail!!

7、\n"); exit(0); } ReadText(fp); fclose(fp); } /**********found**********/ void WriteText(FILE ___1___) { char str[81]; printf("\nEnter string with -1 to end :\n"); gets(str); while(strcmp(str,"-1")!=0) { /**********found**********/ fputs(___2___,fw); fputs("\n",fw

8、); gets(str); } } void ReadText(FILE *fr) { char str[81]; printf("\nRead file and output to screen :\n"); fgets(str,81,fr); while( !feof(fr) ) { /**********found**********/ printf("%s",___3___); fgets(str,81,fr); } } 修改 給定程序MODI1.c中函數(shù)fun的功能是:從低位開始取出長(zhǎng)整

9、形變量s中的奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中,高位仍放在高位,低位仍放在低位。 例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:7531 請(qǐng)改正程序中的錯(cuò)誤,使他能得出正確的結(jié)果。 注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)! #include /************found************/ void fun (long s, long t) { long sl=10; *t = s % 10; while ( s > 0) { s = s/100;

10、 *t = s%10 * sl + *t; /************found************/ sl = sl*100; } } 程序 函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。 例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=1524. 注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。 請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語

11、句。 2、B: *fw str str M: long *t sl = sl*10; P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10); 3. 填空 給定程序中,函數(shù)fun的功能是:將自然數(shù)1~10以及它們的平方根寫到名為myfile3txt的文本文檔中,然后再順序讀出顯示在屏幕上。 請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。 注意:源程序存放在考生文件夾下的BLANK1.c中 不得增行或刪行,也不得更改程序的結(jié)構(gòu)! int fun(char *fna

12、me ) { FILE *fp; int i,n; float x; if((fp=fopen(fname, "w"))==NULL) return 0; for(i=1;i<=10;i++) /**********found**********/ fprintf(___1___,"%d %f\n",i,sqrt((double)i)); printf("\nSucceed!!\n"); /**********found**********/ ___2___; printf("\nThe data in

13、file :\n"); /**********found**********/ if((fp=fopen(___3___,"r"))==NULL) return 0; fscanf(fp,"%d%f",&n,&x); while(!feof(fp)) { printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); } fclose(fp); return 1; } 修改 給定程序MODI1.c中fun函數(shù)的功能是:將n個(gè)無序整數(shù)從小到大排序。 fun ( int n, i

14、nt *a ) { int i, j, p, t; for ( j = 0; ja[i] ) /************found************/ t=i; if ( p!=j ) { t = a[j]; a[j] = a[p]; a[p] = t; } } } 程序 函數(shù)fun的功能是:將兩個(gè)兩位數(shù)

15、的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。 例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=2514 注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。 請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。 3、B: fp fclose(fp) fname M: i

16、序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為0,在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放在變量tfname中 int fun(char *source, char *target) { FILE *fs,*ft; char ch; /**********found**********/ if((fs=fopen(source, ___1___))==NULL) return 0; if((ft=fopen(target

17、, "w"))==NULL) return 0; printf("\nThe data in file :\n"); ch=fgetc(fs); /**********found**********/ while(!feof(___2___)) { putchar( ch ); /**********found**********/ fputc(ch,___3___); ch=fgetc(fs); } fclose(fs); fclose(ft); printf("\n\n");

18、return 1; } 修改 給定程序MODI1.C中函數(shù)fun的功能是:將長(zhǎng)整形數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。 例如:當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:8642 void fun (long s, long *t) { int d; long sl=1; *t = 0; while ( s > 0) { d = s%10; /************found************/ if (d%2=0) { *t=d* s

19、l+ *t; sl *= 10; } /************found************/ s \= 10; } } 程序 函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。 例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=5142 注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。 請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中

20、填入你編寫的若干語句。 4、B: “r” fs ft M: (d%2==0) s /= 10; P: *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); 5. 填空 給定程序中已建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各節(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈表。函數(shù)fun的功能是:把形參x的值放入一個(gè)新結(jié)點(diǎn)并插入到鏈表中,插入后結(jié)點(diǎn)數(shù)據(jù)域的值仍保持遞增有序。 typedef struct list { int data; struct list *next; } SLIST; void fun( SL

21、IST *h, int x) { SLIST *p, *q, *s; s=(SLIST *)malloc(sizeof(SLIST)); /**********found**********/ s->data=___1___; q=h; p=h->next; while(p!=NULL && x>p->data) { /**********found**********/ q=___2___; p=p->next; } s->next=p; /**********found**********/

22、 q->next=___3___; } 修改 給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算正整數(shù)num的各位上的數(shù)字之積。例如,若輸入:252,則輸入應(yīng)該是:20.若輸入:202,則輸出應(yīng)該是:0. long fun (long num) { /************found************/ long k; do { k*=num%10 ; /************found************/ num\=10 ; } while(num) ; return (k) ; } 請(qǐng)編寫一個(gè)函數(shù)f

23、un,它的功能是:它的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。 例如:若有5門課程的成績(jī)是:90.5,72,80,61.5,55 則函數(shù)的值為:71.80 5、B: x p s M: long k=1; num/=10 ; P: int i; float ave=0.0; for(i=0; i

24、釋放該節(jié)點(diǎn),是鏈表縮短。 void fun( SLIST *p) { SLIST *t, *s; t=p->next; s=p; while(t->next != NULL) { s=t; /**********found**********/ t=t->___1___; } /**********found**********/ printf(" %d ",___2___); s->next=NULL; /**********found**********/ free(___3___); }

25、 修改 給定程序MODI1.C中函數(shù)fun的功能是:將字符串中的字符按逆序輸出,單補(bǔ)改變字符串中的內(nèi)容。 例如,若字符串味abcd,則應(yīng)輸出:dcba /************found************/ fun (char a) { if ( *a ) { fun(a+1) ; /************found************/ printf("%c" *a) ; } } 程序 請(qǐng)編寫一個(gè)函數(shù)fun,他的功能是:比較兩個(gè)字符串的長(zhǎng)度(不得調(diào)用c語言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相

26、同,則返回第一個(gè)字符串。 例如,輸入beijingshanghai(為回車鍵),函數(shù)將返回shanghai 6、B: next t->data t M: fun (char *a) printf("%c", *a) ; P: int i; char *p=s, *q=t; for(i=0;*p && *q; i++) { p++; q++; } if(*p == 0 && *q == 0) return s ; if(*p) return s ; else return t ; 7. 填空

27、給定程序中建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各節(jié)點(diǎn)按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保留一個(gè) typedef struct list { int data; struct list *next; } SLIST; void fun( SLIST *h) { SLIST *p, *q; p=h->next; if (p!=NULL) { q=p->next; while(q!=NULL) { if (p->data==q->data) {

28、p->next=q->next; /**********found**********/ free(___1___); /**********found**********/ q=p->___2___; } else { p=q; /**********found**********/ q=q->___3___; } } } } 修改 給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按

29、從小到大的順序進(jìn)行排序。 void fun(int a[], int n) { int i, j, t, p; for (j = 0 ;j < n-1 ;j++) { /************found************/ p = j for (i = j;i < n; i++) if(a[i] < a[p]) /************found************/ p = j; t = a[p] ; a[p] = a[j] ; a[j] = t; } } 請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:

30、求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。例如,若傳3送給m的之位50,則程序輸出:7 11 14 21 22 18 33 35 42 44 49 答案: 7、B: q next next M: p = j; p=i; P: int i ; *n=0 ; for(i=7 ; i<=m; i++) if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ; 8. 填空 給定程序中,函數(shù)fun的gongn是:在帶有頭結(jié)點(diǎn)的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點(diǎn)。找到后

31、通過函數(shù)值返回改結(jié)點(diǎn)在鏈表中所處的順序號(hào);若不存在值為ch的結(jié)點(diǎn),函數(shù)返回0值 typedef struct list { int data; struct list *next; } SLIST; SLIST *creatlist(char *); void outlist(SLIST *); int fun( SLIST *h, char ch) { SLIST *p; int n=0; p=h->next; /**********found**********/ while(p!=___1___) {

32、 n++; /**********found**********/ if (p->data==ch) return ___2___; else p=p->next; } return 0; } 修改 給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串中的所有空白字符(包括制表符,回車符及換行符) 輸入字符串是用“#”結(jié)束輸入。 fun ( char *p) { int i,t; char c[80]; /************found************/ For (i = 0,t = 0;

33、p[i] ; i++) if(!isspace(*(p+i))) c[t++]=p[i]; /************found************/ c[t]="\0"; strcpy(p,c); } 程序 請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換成大寫(若該位置上不是字母,則不轉(zhuǎn)換) 例如:若輸入“abc4EFg”,則應(yīng)輸出“aBc4Efg”。 答案: 8、B: NULL n head,ch M: for c[t]=\0; P: int i ; for(i = 1 ; i < st

34、rlen(*ss) ; i+=2) { if(ss[i] >= a && ss[i] <= z) ss[i] -= 32 ; 9. 填空 給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)出帶有頭結(jié)點(diǎn)的單向鏈表中的個(gè)數(shù),存放在形參n所指的存儲(chǔ)單元中。 void fun( SLIST *h, int *n) { SLIST *p; /**********found**********/ ___1___=0; p=h->next; while(p) { (*n)++; /**********found**********/ p=p->___

35、2___; } } main() { SLIST *head; int a[N]={12,87,45,32,91,16,20,48}, num; head=creatlist(a); outlist(head); /**********found**********/ fun(___3___, &num); printf("\nnumber=%d\n",num); } 修改 給定程序MODI1.C中函數(shù)fun的功能是:求出s所指字符串中最后一次出現(xiàn)的t所指子字符串的地址,通過函數(shù)返回值返回,在主函數(shù)中輸出從此地址開始的字符串;若

36、未找到,則函數(shù)值為NULL 例如:當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中的內(nèi)容為“ab”時(shí),輸出的結(jié)果應(yīng)是:abcdx 當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中的內(nèi)容為“abd”時(shí),則程序輸出未找到信息 not be found char * fun (char *s, char *t ) { char *p , *r, *a; /************found************/ a = Null; while ( *s ) { p = s; r = t; while ( *r ) /*******

37、*****found************/ if ( r == p ) { r++; p++; } else break; if ( *r == \0 ) a = s; s++; } return a ; } 程序 函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)問為偶數(shù),同時(shí)ASCII值也為偶數(shù)的字符外,其余的全部刪除:串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中 例如,若s所指的字符串中的內(nèi)容為“ABCDEFG123456”,其中字符A的ASCII碼味奇數(shù),因此應(yīng)當(dāng)刪除,其中字符b

38、的ASCII碼值為偶數(shù),但是在數(shù)組中的下標(biāo)為基數(shù),因此也當(dāng)刪除; 答案 9、B: *n next head M: a = NULL; *r == *p P: int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i += 2) if(s[i] % 2 == 0) t[j++] = s[i] ; t[j] = 0 ; 10. 填空 給定程序中,函數(shù)fun的功能是:計(jì)算出帶有頭結(jié)點(diǎn)的單向鏈表中各結(jié)點(diǎn)數(shù)據(jù)域中值之和作為函數(shù)的返回值。 int fun( SLIST *h) { SLIST *p; int

39、s=0; p=h->next; while(p) { /**********found**********/ s+= p->___1___; /**********found**********/ p=p->___2___; } return s; } 修改 給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符串相同的字串全部替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中,在此處,要求t1和t2所指字符串的長(zhǎng)度相同。 int fun (char *s, char *t1, ch

40、ar *t2 , char *w) { int i; char *p , *r, *a; strcpy( w, s ); while ( *w ) { p = w; r = t1; /************found************/ while ( r ) if ( *r == *p ) { r++; p++; } else break; if ( *r == \0 ) { a = w; r = t2; while ( *r ){ /*****

41、*******found************/ *a = *r; a++; r++ } w += strlen(t2) ; } else w++; } } 程序 函數(shù)fun的功能是;將s所指字符串下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指的數(shù)組中 例如:當(dāng)s所指字符串中的內(nèi)容為:“ABCDEFGHIJK” 在t所指數(shù)組中的內(nèi)容應(yīng)是“BDFHJ” 10、B: data next head M: *r r++; P: int i, j = 0 ; for(i

42、 = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ; t[j] = 0 ; 11. 填空 人員記錄有編號(hào)和出生年月日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,且編號(hào)唯一。函數(shù)fun的功能是:找出數(shù)據(jù)中的編號(hào)為空串。 /**********found**********/ ___1___ fun(STU *std, char *num) { int i; STU a={"",9999,99,99}; for (i=0; i

43、 if( strcmp(___2___,num)==0 ) /**********found**********/ return (___3___); return a; } 修改 給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的字串的個(gè)數(shù)作為函數(shù)返回值 例如,當(dāng)s所指字符串中的內(nèi)容為:“abcdabfab”,t所指字符串的內(nèi)容為:“ab”則函數(shù)返回整數(shù)3 int fun (char *s, char *t) { int n; char *p , *r; n = 0;

44、 while ( *s ) { p = s; r = t; while ( *r ) if ( *r == *p ) { /************found************/ r++; p++ } else break; /************found************/ if ( r == \0 ) n++; s++; } return n; } 函數(shù)fun的功能是:將s所指字符串中ASCI

45、I值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中 例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符B的ASCII碼值為偶數(shù)….. 答案: 11、B: STU std[i].num std[i] M: p++; *r==’\0’ ; P: int i, j = 0 ; for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ; 12.填空 人員的記錄由編號(hào)和出生年月日組成N名成員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,函數(shù)fun的功能是:找出指定出生年份

46、的人員,將其數(shù)據(jù)放在形參k所指的數(shù)組中,由主函數(shù)輸出,同事有函數(shù)值返回滿足指定條件的人數(shù) int fun(STU *std, STU *k, int year) { int i,n=0; for (i=0; i

47、程序MODI12。C的功能是:讀入一個(gè)整數(shù)k(2《k《1000),打印她的所有因子 例如2310,則應(yīng)輸出2,3,5,7,11 /************found************/ IsPrime ( int n ); { int i, m; m = 1; for ( i = 2; i < n; i++ ) /************found************/ if !( n%i ) { m = 0; break ; } return ( m ); } 設(shè)計(jì) 已知學(xué)

48、生的記錄有學(xué)號(hào)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已經(jīng)存入結(jié)構(gòu)體數(shù)組a中。編寫函數(shù)fun,函數(shù)功能是:找出成績(jī)最高的學(xué)生記錄,通過形參指針傳回主函數(shù)(規(guī)定只有一個(gè)最高分)。已給出函數(shù)的首部,請(qǐng)完成該函數(shù) 12、B: std[i].year std[i] n M: 分號(hào)去掉 if (!( n%i )) P: int i, max = a[0].s, j = 0; for(i = 1 ; i < N ; i++) if(max < a[i].s) { j = i ; max = a[i].s ; } *s = a[j] ; 13.填空 給定程序通過定義并賦初值的方式,利用結(jié)構(gòu)體

49、變量存儲(chǔ)了一名學(xué)生的學(xué)號(hào),姓名和3們課程的成績(jī),函數(shù)fun的功能是將該學(xué)生的各科成績(jī)都乘以一個(gè)系數(shù)a void show(STU tt) { int i; printf("%d %s : ",tt.num,tt.name); for(i=0; i<3; i++) printf("%5.1f",tt.score[i]); printf("\n"); } /**********found**********/ void modify(___1___ *ss,float a) { int i; for(i=0; i<3; i+

50、+) /**********found**********/ ss->___2___ *=a; } main( ) { STU std={ 1,"Zhanghua",76.5,78.0,82.0 }; float a; printf("\nThe original number and name and scores :\n"); show(std); printf("\nInput a number : "); scanf("%f",&a); /**********found**********/ modify(_

51、__3___,a); printf("\nA result of modifying :\n"); show(std); } 修改 給定程序MODI。C中函數(shù)fun的功能是:求k!(k<13),所求階乘的值作為函數(shù)值返回,例如若(k=10,則應(yīng)輸出:3628800 long fun ( int k) { /************found************/ if k > 0 return (k*fun(k-1)); /************found************/ else if ( k=0 )

52、 return 1L; } 設(shè)計(jì) 程序定義了N*N的二維數(shù)組。并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素的值乘以n 例如:若n的值為3,a數(shù)組的值為 13、B: STU score[i] &std M: ( ) k= =0 P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] *= n ; 14.填空 給定程序中,函數(shù)fun的功能是:將形參所指結(jié)構(gòu)體數(shù)組中的三個(gè)元素按num成員進(jìn)行升序排列 /**********found**********/

53、 void fun(PERSON ___1___) { /**********found**********/ ___2___ temp; if(std[0].num>std[1].num) { temp=std[0]; std[0]=std[1]; std[1]=temp; } if(std[0].num>std[2].num) { temp=std[0]; std[0]=std[2]; std[2]=temp; } if(std[1].num>std[2].num) { temp=std[1]; std[1]=s

54、td[2]; std[2]=temp; } } main() { PERSON std[ ]={ 5,"Zhanghu",2,"WangLi",6,"LinMin" }; int i; /**********found**********/ fun(___3___); printf("\nThe result is :\n"); for(i=0; i<3; i++) printf("%d,%s\n",std[i].num,std[i].name); } 修改 給定程序MODI1.c中函數(shù)fun的功能是:將m個(gè)字符串連接起來組

55、成一個(gè)新串,放入pt所指存儲(chǔ)區(qū)中 int fun ( char str[][10], int m, char *pt ) { /************found************/ Int k, q, i ; for ( k = 0; k < m; k++ ) { q = strlen ( str [k] ); for (i=0; i

56、 pt[0] = 0 ; } } 設(shè)計(jì) 程序定義了N*N的二維數(shù)組, 并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素中的值全部值0 14、B: *std PERSON std M: int str[k][i] P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] =0; 15.填空 給定程序中,函數(shù)fun的功能是:將形參std所指結(jié)構(gòu)體數(shù)組中年齡最大者的數(shù)據(jù)作為函數(shù)值返回,并在主函數(shù)中輸出 STD fun(STD std

57、[], int n) { STD max; int i; /**********found**********/ max= ___1___; for(i=1; i

58、td,5); printf("\nThe result: \n"); /**********found**********/ printf("\nName : %s, Age : %d\n", ___3___,max.age); } 修改 給定程序MODI1.c中函數(shù)fun的功能是:實(shí)現(xiàn)兩個(gè)整數(shù)的交換 例如給a和b分別輸入60和65,輸出為:a=65 b=60 /**********found**********/ void fun ( int a, b ) { int t; /**********found**********/ t =

59、b; b = a ; a = t; } 設(shè)計(jì) 請(qǐng)編制一個(gè)函數(shù)fun,tt指向一個(gè)M行N列的二維數(shù)組,求二維數(shù)組每列中最小元素,并以此放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予 15、B: *std std[i].age max.name M: int *b t = *b; *b = *a ; *a = t; P: int i,j, min, k ; for(i = 0 ; i < N ; i++) { min = tt[0][i] ; k = 0 ; for(j = 1 ; j < M ; j++) if(min > tt[j][i]) { min=t

60、t[j][i] ; k = j ; } pp[i] = tt[k][i] ; } 16.填空 程序通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的信息,函數(shù)fun的功能是輸出這位學(xué)生的信息 /**********found**********/ void show(STU ___1___) { int i; printf("\n%d %s %c %d-%d-%d", tt.num, tt.name, tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day);

61、for(i=0; i<3; i++) /**********found**********/ printf("%5.1f", ___2___); printf("\n"); } main( ) { STU std={ 1,"Zhanghua",M,1961,10,8,76.5,78.0,82.0 }; printf("\nA student data:\n"); /**********found**********/ show(___3___); } 修改 給定程序MODI1.c中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次大數(shù),并把最大數(shù)

62、和a【0】中的數(shù)對(duì)調(diào),次最大數(shù)和a【1】中的書對(duì)調(diào) int fun ( int * a, int n ) { int i, m, t, k ; for(i=0;i<2;i++) { /**********found**********/ m=0; for(k=i+1;ka[m]) k=m; t=a[i];a[i]=a[m];a[m]=t; } } 設(shè)計(jì) 請(qǐng)編寫一個(gè)函數(shù)unsigned fun ,w是一個(gè)大與10的無符號(hào)整數(shù),若w

63、是n為的整數(shù),函數(shù)求出w的低n-1位的數(shù)作為函數(shù)值返回 例如 w為5923 則函數(shù)返回923; 16、B: tt tt.score[i] std M: m=i m=k P: if(w>10000) w %= 10000 ; else if(w>1000) w %= 1000 ; else if(w>100) w %= 100 ; else if(w>10) w %=10 ; return w ; 17.填空 給定程序中,函數(shù)fun的功能是:對(duì)形參ss所指字符串?dāng)?shù)組中的M個(gè)字符串按長(zhǎng)度由短到長(zhǎng)進(jìn)行排序。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)《N void f

64、un(char (*ss)[N]) { int i, j, k, n[M]; char t[N]; for(i=0; in[j]) ___2___; if(k!=i) { strcpy(t,s

65、s[i]); strcpy(ss[i],ss[k]); /**********found**********/ strcpy(ss[k],___3___); n[k]=n[i]; } } } 給定程序MODI。C中函數(shù)fun的功能是:判斷ch中字符是否與str所指串中的某個(gè)字符相同;若相同,什么也不做,若不同,則將其插在串的最后 #include /**********found**********/ void fun(char str, char ch ) { while

66、 ( *str && *str != ch ) str++; /**********found**********/ if ( *str == ch ) { str [ 0 ] = ch; /**********found**********/ str[1] = 0; } } 設(shè)計(jì) 請(qǐng)編制一個(gè)函數(shù)fun,函數(shù)功能是吧s所指字符串中的內(nèi)容逆值 17、B: i+1 k=j t M: char *str != 0 P: char b[N] ; int i = 0, j ; for(j = strlen(s) - 1 ; j >= 0 ; j--) b[i++] = s[j] ; b[i]=0; strcpy(s, b) ; 18.填空 給定程序中,函數(shù)fun的功能是:求出形參ss所指的字符串?dāng)?shù)組中最長(zhǎng)字符串的長(zhǎng)度,其余字符串左邊用字符*補(bǔ)齊,使其與最長(zhǎng)的字符串等長(zhǎng),字符串?dāng)?shù)組中共有M個(gè)字符串 void fun(char (*ss)[N]) { int i,

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!