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

下載本文檔

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

文檔簡介

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

2、ound*/while(q>p)3程序設(shè)計 學(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 fun(STREC *a,STREC *b,int l,int h)int i,j=0;for(i=0;i<N;i+)if(ai.s>=1&&ai.s<=h)bj+=ai;return j;第二套1. 程序填空 給定程序中已建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)

3、據(jù)域值相同的結(jié)點,使之只保留一個。第一處 free(q);第二處 q=p->next;第三處 q=q->next;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對數(shù)組中的n各元素按從小到大的順序進行排序。/*found*/p=j;/*found*/p=i;3. 程序設(shè)計 請編寫一個fun函數(shù),它的功能是:求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。void fun(int m,int *a,int *n)int i;*n=0;for(i=7;i<=m;i+) if(i%7=0)|(i%11=0)a(*n)+=i;

4、 第三套1. 程序填空 函數(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ù)。第一處 for(i=0;i<n/2;i+)第二處 ai=an-1-i;第三處 an-i-1=t;2程序修改 給定程序MODI1.C中函數(shù)fun的功能是:將一個由八進制數(shù)字字符串組成的字符串轉(zhuǎn)換為與其面值相等的十進制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進制數(shù)字字符。/*found*/n=*p-0;/*found*/n=n*8+*p-0;3. 程序設(shè)計 學(xué)生的記錄由學(xué)號和

5、成績組成,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 fun(STREC*a,char *b)STREC c;Int i;c.num0=0;c.s=-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;第四套1. 程序填空 給定程序中,函數(shù)fun的功能是:在

6、帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點。找到后通過函數(shù)值返回該結(jié)點在鏈表中所處的順序號:若不存在值為ch的結(jié)點,函數(shù)值返回0.第一處 while(p!=0)第二處if(p->data=ch)return n;第三處 k=fun(head,ch);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串的所有空白字符(包括制表符、回車符及換行符)。輸入字符串時用#結(jié)束輸入。/*found*/for(i=0,t=0;pi;i+)/*found*/ct=0;3. 程序設(shè)計 請編寫一個函數(shù)fun,將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不

7、是字母,則不轉(zhuǎn)換)。void fun(char *ss)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。第一處 s=0; 第二處 for(i=1;i<=n;i+)第三處 s=s+(2.0*i-1)*(2.0*i+1)/(t*t);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計substr所指字符串在str所指字符串中出現(xiàn)伯

8、次數(shù)。/*found*/for(i=0;stri;i+)/*found*/if(substrk+1=0)3. 程序設(shè)計 請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求JI的值(要求滿足精度0.0005,即某項小于0.0005時停止送代):程序運行后,如果輸入精度為0.0005,則程序輸出為3.14。double fun(double eps) double s=1,t=1./3;int n=1;while(t>=eps)s+=t;n+;t=t*n/(2.0*n+1);return(s*2.0);第六套1. 程序填空 給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中所有的字母字符順

9、序前移,其他字母順序后移,處理后字符串的首地址作為函數(shù)值返回。第一處 tj=si;j+;第二處 for(i=0;i<k;i+)tj+i=pi;第三處 tj+k=0;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指定字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。/*found*/while(*w)/*found*/if(*r=*p)3. 程序設(shè)計 函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指定的數(shù)組中。void fu

10、n(char *s,char t) int i,j=0;for(i=0;i<strlen(s);i+)if(si%2=0)tj+=si;tj=0;第七套1. 程序填空 程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進行修改,并把a中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。第一處 struct student * fun(struct student*a) 第二處 for(i=0;i<3;i+) a->scorei+=1;第三處 return a;2. 程序修改給定程序MODI1.C中函數(shù)fun

11、的功能是:從N個字符串中找出最長的那個串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放在一個字符串?dāng)?shù)組中。/*found*/char *fun(char (*sq)M)/*found*/return sp;3. 程序設(shè)計 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的百位和個位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。#include <stdio.h>void fun(int a,int b,long *c) *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%1

12、0;第八套1. 程序填空 函數(shù)fun的功能是:將形參觀者工所指數(shù)組中的前半部分元素中的值和后半部分元素中的值對換。形參n中存放數(shù)組中數(shù)據(jù)的個數(shù),若n為奇書,則中間元素不動。第一處 p=(n%2=0)?n/2:n/2+1;第二處 ai=ap+i;第三處 ap+i=t;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:把主函數(shù)中輸入的三個數(shù),最大的放在a中,最小的放在c中,中間的放在b中。/*found*/float k;/*found*/if(*a<*c)3. 程序設(shè)計學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫了函數(shù)fun,它的功能是:把分數(shù)

13、最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最高的學(xué)生可能不止一個,函數(shù)返回分數(shù)最高的學(xué)生的人數(shù)。int fun(STREC *a,STREC *b)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ù)中輸出平均

14、值和移動后的數(shù)據(jù)。第一處 for(i=0;i<N;i+)av+=xi/N第二處 yj=xi;xi=-1;j+;第三處 i+;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計字符串各元音字母(即:A、E、I、O、U)的個數(shù)。注意字母不分大小寫。/*found*/numk=0;/*found*/switch(*s)3. 程序設(shè)計 請編寫函數(shù)fun,函數(shù)的功能是:求出二級數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。int fun(int a MN)int tot=0,i,j;for(i=0;i<N;i+) tot +=a0i; tot +=aM-1i;

15、for(i=1;i<M-1;i+) tot +=ai0; tot +=aiN-1; return tot;第十套1. 程序填空 程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a中的數(shù)據(jù)進行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進行輸出。第一處 struct studentfun(struct student a)第二處 strcpy(,”LiSi”);第三處 a.scorei+=1;2程序修改 假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODI1.C中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。N中存放的是數(shù)列中元素的個數(shù)

16、。/*found*/if(p=n) return-1/*found*/ai=ai+1;3. 程序設(shè)計學(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 fun(STREC *a,STREC *b)int i,j=0,min=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. 程序填空 給

17、定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,小于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。第一處 av=s/N;第二處 yj+=xi;xi=-1;第三處 if(xi!=-1)yj+=xi;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:讀入一行英文文本行,將其中每個單詞的第一個字母改成大寫,然后輸出次文本行(這里的“單詞”是指由空格隔開的字符串)。/*found*/#include<stdio.h>/*found*/upfst (c

18、har *p)3. 程序設(shè)計 程序定義了N×N的二級數(shù)組,并在主函數(shù)中賦值,請編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作出函數(shù)值飯給主函數(shù)中的s。double fun(int wN) int 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.txt的文本文件中,然后再順序讀出顯示在屏

19、幕上。第一處 fprintf(fp,”%d%fn”,i,sqrt(double)i);第二處 fclose(fp);第三處 if(fp=fopen(fname,”r”)=NULL)2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:將n個無序整數(shù)從小到大排序。/*found*/for(i=j+1;i<n;i+)/*found*/p=i;3. 程序設(shè)計 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的個位和百位上,b中的十位和個位數(shù)依次放在變量c的十位和千位上。#include <stdio.h>v

20、oid fun(int a,int b,long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第十三套1. 程序填空 給定程序中,函數(shù)fun的功能是:找出N*N矩陣中每列元素中的最大值,并按順序一次存放于形參b所指的一維數(shù)組中。第一處 bi=a0i;第二處 if (bi<aji)bi=aji;第三處 fun(x,y);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:交換主函數(shù)中的兩個變量的值。/*found*/int fun(int *x,int *y)/*found*/t=*x;*x=*y;*y=t;3. 程序設(shè)計 編寫函數(shù)f

21、un,函數(shù)的功能是求出小于或等于lim的所有素數(shù)并放在aa數(shù)組中,函數(shù)返回所求出的素數(shù)的個數(shù)。函數(shù)fun中給出的語句僅供參考。#include <stdio.h>#define MAX100int fun(int lim,int aaMAX)int i,j,k=0;for(i=2;i<=lim;i+)for(j=2;j<=(i/2);j+)if(i%j=0)break;if(j>(i/2)aak+=i; return k;第十四套1. 程序填空 函數(shù)fun的功能是進行字母轉(zhuǎn)換。若形參ch中小寫英文字母,則轉(zhuǎn)換成相應(yīng)的大寫英文字母;若形參ch中是大寫英文字母,則轉(zhuǎn)換

22、成相應(yīng)的小寫英文字母;并將轉(zhuǎn)換的結(jié)果作為函數(shù)值返回。第一處 if(ch>=a)&&(ch<=z)第二處 returnch+a-A第三處 return ch;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:給一維數(shù)組a輸入任意四個整數(shù)并按下列的規(guī)律輸出。例如輸出1、2、3、4,程序輸出一下方陣。a) 1 2 33 4 1 22 3 4 11 2 3 4/*found*/void fun(int *a)/*found*/aj=aj-1;3. 程序設(shè)計 請編寫函數(shù)fun,函數(shù)的功能是:計算并輸出給定整數(shù)n的所有因子(不包過1和n本身)之和。規(guī)定n的值不大于10

23、00.int fun(int n)int s=0,i;for(i=2;i<n;i+)if(n%i=0)s+=i;return s;第十五套1. 程序填空 給定程序中,函數(shù)的功能是:把形參s所指字符串下標(biāo)為奇數(shù)的字符右移到下一個奇書位置,最右邊唄移出字符串的字符繞回放到第一個奇數(shù)位置,下標(biāo)為偶數(shù)的字符不動(注:字符串的長度大于等于2)。例如,形參s所指的字符串為:abcdefgh,執(zhí)行結(jié)果為:ahcbedg。第一處 if(n%2=0) k=n-1;第二處 c=sk;第三處 s1=c;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:求 s=aaaaaaaaaa(此處aaaa表示n

24、個a,a和n的值在1至9之間)。/*found*/long s=0,t=0;/*found*/t=t/10;3. 程序設(shè)計 請編寫一個函數(shù)void fun(char*tt,int pp ),統(tǒng)計在tt所指字符串中a至z26個小寫字母各自出現(xiàn)在的次數(shù),并依次放在pp數(shù)組中。void fun(char*tt, int pp )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ù)中存

25、入結(jié)構(gòu)體數(shù)組std中,且編號唯一。函數(shù)fun的功能是:找出指定編號人員數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,若指定編號不存在,返回數(shù)據(jù)中編號為空串。第1處 STU fun(STU *std, char *num)第2處 if(strcmp (stdi.num, num)= =0)第3處 return (stdi);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的子串的個數(shù)作為函數(shù)值返回。/*found*/r+; p+;/*found*/if(*r= =0)3. 程序設(shè)計 函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩

26、余字符形成一個新串放在t所指數(shù)組中。#include <stdio. h>#include <string. h>void fun (char*s, char t)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所指的字符串為:abcdef35adgh3kjsdf7。輸出結(jié)果為:4。第1處 for(i=0;si!=NULL;i+)第2處 if(si

27、>=0&&si<=9)n+;第3處 *t=n;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:通過某種方式實現(xiàn)兩個變量的交換,規(guī)定不允許增加語句和表達式。例如變量a中的值原為8,b中的值原為3,程序運行后a中值為3,b中的值為8./*found*/t=*x;*x=y;/*found*/return(t);3. 程序設(shè)計 請編寫函數(shù)fun,函數(shù)的功能是:求出1到1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。#include <stdio. h>viod fun (int *a

28、,int *n)int i;*n=0;for(i=7;i<1000;i+)if(i%7)= =0(i%11)= =0&&(i%77)!=0) a(*n)+=i;第十八套1. 程序填空 給定程序中,函數(shù)fun的功能是:有N×N矩陣,根據(jù)給定的m(m<=n)值,將每行元素中的值均右移m個位置,左邊值為0.第1處 for(i=0;i<N;i+)第2處tij+m=tij;第3處 for(j=0;j<m;j+)2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:計算并輸出high以內(nèi)最大的10個素數(shù)之和。high的值由主函數(shù)傳給fun函數(shù)。/*f

29、ound*/while(2<=high)&&(n<10)/*found*/yes=0;break;3. 程序設(shè)計 請編寫函數(shù)fun,函數(shù)的功能是:利用一下所示的簡單迭代方法求方程求方程:cos(x)-x=0的一個實根。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。float

30、 fun()float x0,x1=0.0;dox0=x1;x1=cos(x0);while(fabs(x0-x1)>0.000001);return x1;第十九套1. 程序填空 給定程序中,函數(shù)fun的功能是:將a所指的3×5矩陣中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原來左邊的各列依次繞到右邊。第1處for(p=1;p<=k;p+)第2處for(j=0;j<N-1;j+)aij=aij+1;第3處 aiN-1=temp;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)形參m的值(2<=m<=9),在m行m列的二維

31、數(shù)組中存放如下所示規(guī)律的數(shù)據(jù),由main函數(shù)輸出。例如,若輸入2則輸出:1 22 4/*found*/fun(int aM,int m)/*found*/ajk=(k+1)*(j+1);3. 程序設(shè)計 函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量c的個位和百位上。void fun(int a,int b,int*c)*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);第二十套1. 程序填空 給定程序中,函數(shù)fun的功能是:對形參s所指字符串中

32、下標(biāo)為奇數(shù)的字符ASCII碼大小遞增排序,并將排序后的下標(biāo)為奇數(shù)的字符取出,形成一個新串。第1處t=i;第2處for(j=i+2;j<n;j=j+2)第3處pj=0;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:用下面的公式求的近似值,知道最后一項的近似值小于指定數(shù)(參數(shù)num)為止:例如程序0.0001,則程序輸出3.1414。/*found*/while(fabs(t)>=num)/*found*/t=s/n3. 程序設(shè)計 請編寫一個函數(shù)void fun(char a ,char b ,int n),其功能是:刪除一個字符串指定下標(biāo)的字符。其中,a指向原字符串,刪

33、除指定字符后的字符串放在b所指的n中存入指定的下標(biāo)。viod fun (char a ,char b,int 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。第一處 void fun(char (*ss)M, int k)第二處 while (i<N)第三處 ssik=0;i+;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求值,并作為函數(shù)

34、值返回。例如,給指定精度的變量eps輸入0.0005時,應(yīng)當(dāng)輸出Pi=30140578.。/*found*/t=1;/*found*/return(2*s);3. 程序設(shè)計 假定輸入字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號不得多于n個;若多于n個,則刪除多余的*號;若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。函數(shù)fun中給出的語句僅供參考。void fun(char*a,int n)int i=0,k=0;while(ak= =*)k+;if(k>n)i=n;j=k;for(;aj!=0;j+) ai+=aj;ai=0;第二十二套1.

35、程序填空 給定程序中,函數(shù)fun的功能是:a所指4×3矩陣中第k行的元素與第0行元素交換。例如:有下列矩陣1 2 34 5 67 8 910 11 12若k為2,程序執(zhí)行結(jié)果為7 8 94 5 61 2 310 11 12第一處 void fun(int (*a)N,int k)第二處 for(i=0;i<N;i+)第三處 a0i=aki;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符串按ASCII碼升序排序后輸出。例如,若輸入edcba,則應(yīng)輸出:abcde。/*found*/for(i=strlen(t

36、)-1;i;i-)/*found*/if(tj>tj+1)3. 程序設(shè)計 請編寫函數(shù)fun,函數(shù)的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。void fun(char *ss)char *p=ss;inr i=0;while(*p)if(i%2)&&(*p>=a &&*p<=z)*p-=32;p+;i+;第二十三套1. 程序填空 給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時函數(shù)的返回值是1,失敗是返回值是0.在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕

37、。主函數(shù)源文件名放在變量sfname中,目標(biāo)文件放在變量tfname中。第一處 if(fs=fopen(source,”r”)=NULL)第二處 while(!feof(fs)第三處 fputc(ch,ft);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:將長整型中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。/*found*/if(d%2=0)/*found*/s/=10;3. 程序設(shè)計 函數(shù)fun的功能是:將兩位正整數(shù)a、b合并形成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量

38、c的百位和個位上。void fun(int a,int b,long*c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第二十四套1. 程序填空 程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號和姓名,最后輸出修改后的數(shù)據(jù)。第一處 b=a;第二處 strcpy(,”LiSi”)第三處 for (i=0;i<3;i+) printf(“%6.2f”,b.scorei);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:從s

39、所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計算出正確的結(jié)果。/*found*/sj+=si;/*found*/sj=0;3. 程序設(shè)計 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號全部移到字符串的尾部。函數(shù)fun中給出的函數(shù)僅供參考。void fun(char *a) 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ù),方法是:首

40、先從素數(shù)2開始,將所有2的倍數(shù)的數(shù)從數(shù)表中刪去(把數(shù)表中相應(yīng)位置的值置成0);接著從數(shù)表中找下一個非0數(shù),并從數(shù)表中刪去該數(shù)的所有倍數(shù),依此類推,直到所找的下一個數(shù)等于n為止。這樣會得到一個序列:2、3、5、7、11、13、17、19、23函數(shù)fun用篩選法找出所有小于等于n的素數(shù),并統(tǒng)計素數(shù)的個數(shù)作為函數(shù)值返回。第一處 for(j=ai*2;j<=n;j+=ai)第二處 while(ai= =0)第三處 if(ai!=0)2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:為一個偶數(shù)尋找兩個素數(shù),這兩個素數(shù)之和等于該偶數(shù),并將這兩個素數(shù)通過形參指針傳回主函數(shù)。/*found*/

41、y=1;/*foune*/d=a-i;3. 程序設(shè)計 請編寫函數(shù)fun,它的功能是:計算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。double fun(int n)int i;double sum=0.0;for(i=1;i<n;i+) if(i%5= =0|i%9=0) sum+=1.0/i;return sum;第二十六套1. 程序填空 給定程序中,函數(shù)fun的功能是建立一個N×N的矩陣。矩陣元素的構(gòu)成規(guī)律是:最外層元素的值全部是1;從外向內(nèi)第二層元素的值全部為2;第三層元素的值全部是3,依此類推。第一處void fun(int(*a)N)第二處for(j

42、=i;j<N-i;j+)第二處aki=akN-i-1=i+1;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:將十進制正整數(shù)m轉(zhuǎn)換成k(2<=k<=9)進制數(shù),并按高位到低位順序輸出。/*found*/aai=m%k;/*found*/printf(“%d”,aai-1);3. 程序設(shè)計 編寫一個函數(shù),從num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址。(注意:主函數(shù)中用*作為結(jié)束輸入的標(biāo)志,函數(shù)fun中給出的語句僅供參考)。fun(char (*a)81,int num,char *max)int i,k=0,maxlen;maxlen=s

43、trlen(ak);for(i=1;i<num;i+)if(strlen(ai)>maxlen)maxlen=strlen(ai);k=i;*max=ak;第二十七套1. 程序填空 函數(shù)fun的功能是計算f(x)=1+x-2/2!+3/3!-4/4!+的前n項和。若x=2.5,n=15時,函數(shù)值為1.917914。第一處 f=1;第二處 t*=(-1)*x/i;第三處 f+=t;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:從三個紅球,5個白球,6個黑球中任意取出8個作為一組,進行輸出。在沒組中,可以沒有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)

44、該是15.程序中i的值代表紅球數(shù),j代表白球數(shù),k代表黑球數(shù)。/*found*/for(i=1;i<=3;i+)/*found*/if(k>=0&&k<=6)3. 程序設(shè)計 請編寫函數(shù)fun,它的功能是:計算并輸出下列多項式的值:sn=1+1/1!+1/2!+1/3!+1/4!+1/n!。例如:在主函數(shù)中從鍵盤給n輸入15,則輸出為:s=2.718282。注意:要求n的值大于1但不大于100。double fun(int n)double s=1long t=1;int i;for(i=1;i<=n;i+)t=t*i;s+=1.0/t;return s;

45、第二十八套1. 程序填空 給定程序中,函數(shù)fun的功能是:計算N*N矩陣的主對角線元素和方向?qū)蔷€元素之和,并作為函數(shù)值返回。注意:要求先累加主對角線元素中的值,然后累加反響對角線元素的值。第一處 sum=0;第二處 sum+=tii;第三處 sum+=tin-i-1;2. 程序修改 給定程序MODI1.C中函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個根,并要求絕對誤差不超過0.001。/*found*/double r;/*found*/while(fabs(n-m)>0.001)3. 程序設(shè)計 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它

46、的功能是:除了字符串前導(dǎo)和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串中的第一個字母,形參p已指向字符串中最后一個字母。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。void fun(char *a,char *h,char *p)int 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矩陣,將矩陣的外圍元素順時針旋

47、轉(zhuǎn)。操作的順序是:首先將第一行元素的值存入臨時數(shù)組r,然后使第一列成為第一行,最后一行成為第一列,最后一列成為第一行,臨時數(shù)組中和元素成為最后一列。第一處 t0N-j-1=tj0;第二處 for(j=N-1;j>=0;j-)第三處 tjN-1=rj;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:計算s=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值。例如,當(dāng)n為5時,函數(shù)值應(yīng)該是:10.407143。/*found*/double f(double x)/*found*/return s;3. 程序設(shè)計 編寫一個函數(shù)fun,它的功能是計算:s=根號下

48、(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ù)值為:60506583。double fun(int m)double s=0.0;int i;for(i=0;i<=m;i+)s+=log(1.0*i);s=sqrt(s);return s;第三十套1. 程序填空 函數(shù)fun的功能是:反形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a0、a1、a2中,把偶數(shù)從數(shù)組中刪除,奇數(shù)個數(shù)通過函數(shù)值返回。例如:若a所指數(shù)組中的數(shù)據(jù)最初排列為:9、1、

49、4、2、3、6、5、8、7,刪除偶數(shù)后a所指數(shù)組中的數(shù)據(jù)為:9、1、3、5、7,返回值為5。第一處 if(ai%2=1)第二處 j+;第三處 return j;2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:求出兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。/*found*/t=a;a=b;b=t;/*found*/return (b);3. 程序設(shè)計 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。void fun(char *a)int j=0;char *p=a;while(*p)if(*

50、p!=*)aj+=*p;p+;aj=0;第三十一套1. 程序填空 給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個數(shù)。Ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。第一處 for(i=0;i<N;i+)第二處 if(len<=k)第三處 strcpy(ssj+,ssi);2. 程序修改 給定程序MODI1.C中函數(shù)fun的功能是:逐個比較p、q所指兩個字符串對應(yīng)位置中的字符,把ASCII值或相等的字符依次存放在c所指數(shù)組中,形成一個新的字符串。/*found*/int k=0;/*found*/while(*p|*q

51、)3. 程序設(shè)計 假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:除了字符串前導(dǎo)*號之外,將串中其它*號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。函數(shù)fun中給出的語句僅供參考。void fun(char *a)int i=0,k;while(ai!=*)i+;k=i;while(ai!=0)if(ai!=*)ak+=ai;i+;ak=0;第三十二套1. 程序填空 給定程序中已建立一個帶頭結(jié)點的單向鏈表,鏈表中的各結(jié)點按結(jié)點數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點并插入到鏈表中,插入后各結(jié)點數(shù)據(jù)域的值仍保持遞增有序。第一處 s->data=x;第二處 q=p;

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論