國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共27題)_第1頁
國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共27題)_第2頁
國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共27題)_第3頁
國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共27題)_第4頁
國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共27題)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國家二級(jí)C語言機(jī)試(操作題)模擬試卷5(共9套)(共27題)國家二級(jí)C語言機(jī)試(操作題)模擬試卷第1套一、程序填空題(本題共1題,每題1.0分,共1分。)1、給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。例如,形參s所指的字符串為:abcdef35adgh3kjsdf7。輸出結(jié)果為:4。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#includevoidfun(char*s,int*t){inti,n;n=0;/**********found**********/for(i=0;【1】!=0;i++)/**********found**********/if(s[i]>=’0’&&s[i]<=【2】)n++;/**********found**********/【3】;}main(){chars[80]="abcdef35adgh3kjsdf7";intt;printf("\nTheoriginalstringis:%s\n",s);fun(s,&t);printf("\nTheresultis:%d\n",t);}標(biāo)準(zhǔn)答案:(1)s[i](2)’9’(3)*t=n知識(shí)點(diǎn)解析:搜索整個(gè)字符串,判斷s[i]>=’0’且s[i]<=’9’,滿足該條件后,計(jì)數(shù)變量加1,因此,第一空:循環(huán)終止條件是達(dá)到了字符串的尾部,字符串以“\0”(或NULL)結(jié)束,故第一空處應(yīng)為s[i]。第二空:數(shù)字字符的判斷是s[i]>=’0’且s[i]<=’9’,故第二空處應(yīng)為“’9’”。第三空:這里是將數(shù)字字符出現(xiàn)的次數(shù)存放在形參t里,n記錄了數(shù)字字符的個(gè)數(shù),而形參t是指針變量,故第三處應(yīng)為“*t=n”。二、程序修改題(本題共1題,每題1.0分,共1分。)2、給定程序MODI1.C中函數(shù)fun的功能是:通過某種方式實(shí)現(xiàn)兩個(gè)變量值的交換,規(guī)定不允許增加語句和表達(dá)式。例如變量a中的值原為8,b中的值原為3,程序運(yùn)行后a中的值為3,b中的值為8。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#includeintfun(int*x,inty){intt;/**********found**********/t=x;x=y;/**********found**********/return(y);}main(){inta=3,b=8;printf("%d%d\n",a,b);b=fun(&a,b);printf("%d%d\n",a,b);}標(biāo)準(zhǔn)答案:(1)t=*x;*x=y;(2)return(t);知識(shí)點(diǎn)解析:(1)根據(jù)fun中x變量的定義,x為指針型變量,所以第一個(gè)錯(cuò)誤標(biāo)識(shí)下的“t=x;x=y;”改為“t=*x;*x=y;”。(2)交換之后t中存放原來x的值,x存放原來y的值,這里應(yīng)該是返回原來x的值,所以第二個(gè)標(biāo)識(shí)下的“return(y);”應(yīng)該改為“return(t);”或者“returnt;”。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、請(qǐng)編寫函數(shù)fun,它的功能是:求出1到1000之間能被7或11整除、但不能同時(shí)被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。#includevoidfun(int*a,int*n){}main(){intaa[1000],n,k;voidNONO();fun(aa,&n);for(k=0;k<n;k++)if((k+1)%10==0)printf("\n");elseprintf("%5d",aa[k]);NONO();}voidNONO(){/*本函數(shù)用于打開文件,輸入測(cè)試數(shù)據(jù),調(diào)用fun函數(shù),輸出數(shù)據(jù),關(guān)閉文件。*/intaa[1000],n,k;FILE*fp;fp=fopen("out.dat","w");fun(aa,&n);for(k=0;k<n;k++)if((k+1)%10==0)fprintf(fp,"\n");elsefprintf(fp,"%5d",aa[k]);fclose(fp);}標(biāo)準(zhǔn)答案:inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0‖(i%11)==0)&&(i%77)!=0)a[(*n)++]=i;知識(shí)點(diǎn)解析:進(jìn)入fun函數(shù),判斷是否被7整除→判斷是否被11整除→并且不被77整除→按要求返回計(jì)算結(jié)果。首先,*n置0,設(shè)置為累計(jì)器,計(jì)算符合條件的數(shù)的個(gè)數(shù)。然后,通過循環(huán),判斷小于1000的每一個(gè)整數(shù)是否符合題干中的要求。其中的判斷條件能否被7或者被11整除為:i%7==0‖i%11==0,不能被11和7同時(shí)整除為:i%77!=0,它們之間的并關(guān)系就用&&連接,最后結(jié)果即為:(i%7=0‖i%11=0)&&i%77!=0。最后,將符合條件的整數(shù)存入數(shù)組a中,同時(shí)對(duì)*n進(jìn)行自加,返回結(jié)果。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第2套一、程序填空題(本題共1題,每題1.0分,共1分。)1、給定程序中,函數(shù)fun的功能是:把形參s所指字符串中最右邊的n個(gè)字符復(fù)制到形參t所指字符數(shù)組中,形成一個(gè)新串。若s所指字符串的長(zhǎng)度小于n,則將整個(gè)字符串復(fù)制到形參t所指字符數(shù)組中。例如,形參s所指的字符串為:abodefgh,n的值為5,程序執(zhí)行后t所指字符數(shù)組中的字符串應(yīng)為:defgh。請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>#include<string.h>#defineN80voidfun(char,*s,intn,char*t){intfen,i,j=0;len=str1en(s);/*********found*********/if(n>=1en)strcpy(【1】);else{/*********found*********/for(i=1en一n;i<=1en一1;i++)t[j++]=【2】;/*********found*********/t[j]=【3】;}}main(){chars[N],t[N];intn;printf("Enterastring:");gets(s);printf("Entern:");scanf("%d",&n);fun(s,n,t);printf("Thestringt:");puts(t);}標(biāo)準(zhǔn)答案:(1)t,s(2)s[i](3)0或’\0’知識(shí)點(diǎn)解析:填空1:當(dāng)給定的長(zhǎng)度n大于該字符串s的長(zhǎng)度,那么把該字符串直接拷貝到t就可以了,所以應(yīng)填t,s。填空2:使用for循環(huán)語句,把最右邊n個(gè)字符依次添加到t中,所以應(yīng)填s[i]。填空3:字符串操作結(jié)束,需要給t加一個(gè)字符串結(jié)束符,所以應(yīng)填0或’\0’。二、程序修改題(本題共1題,每題1.0分,共1分。)2、下列給定程序中,函數(shù)fun的功能是:找出一個(gè)大于給定整數(shù)m且緊隨m的素?cái)?shù),并作為函數(shù)值返回。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件NOD11.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>intfun(intm){inti,k;for(i=m+1;;i++){for(k=2;k<i;k++)/*********found*********/if(i%k!=0)break;/*********found*********/if(k<i)return(i);}}voidmain(){intn;system("CLS");printf("\nPleaseentern:");scanf("%d",&n);printf("%d\n",fun(n));}標(biāo)準(zhǔn)答案:(1)if(i%k==0)(2)if(k==i)知識(shí)點(diǎn)解析:(1)判斷當(dāng)前數(shù)是否為素?cái)?shù),若存在一個(gè)數(shù)(除1和其自身)能整除當(dāng)前數(shù),則跳出本次循環(huán),所以if條件應(yīng)為i%k==0。(2)如果i是素?cái)?shù),則循環(huán)結(jié)束時(shí)k==i,將該值返回。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、請(qǐng)編寫函數(shù)voidfun(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過形參n返回。例如,若x中的值為30,則有4個(gè)數(shù)符合要求,它們是1、3、5、15。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>v02dfun(intx,intpp[],int,*n){)voidmain(){FILE*wf;intx,aa[1000],n,i;system("CLS");printf("\nPleaseenteranintegernumber:\n");Scanf("%d",&x);fun(x,aa,&n);for(i=0;i<n;i++)printf("%d",aa[i]);printf("\n");/*********found*********/wf=fopen("out.dat","w");fun(30,aa,&n);for(i=0;i<n;i++)fprintf(wf,"%d",aa[i]);fclose(wf);/*********found*********/}標(biāo)準(zhǔn)答案:voidfun(intx,intpp[],int*n){inti,j=0;for(i=1;i<=x;i=i+2)/*1的初始值為1,步長(zhǎng)為2,確保i為奇數(shù)*/if(x%i==0)/*將能整除x的數(shù)存入數(shù)組pp中*/pp[j++]=i;*n=j;/*傳回滿足條件的數(shù)的個(gè)數(shù)*/}知識(shí)點(diǎn)解析:本題考查:偶數(shù)的判定方法;整除的實(shí)現(xiàn)。本題題干信息是:能整除x且不是偶數(shù)的所有整數(shù)。循環(huán)語句中變量i從1開始且每次增2,所以i始終是奇數(shù)。整除的方法,已經(jīng)講過多次,這里就不再贅述了。對(duì)于本題目要求的不是偶數(shù)的判定方法,即該數(shù)對(duì)2求余不為0。除本題描述的方法外,還可以通過for循環(huán)語句直接把偶數(shù)篩出去,確保參與操作的數(shù)均為奇數(shù)。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第3套一、程序填空題(本題共1題,每題1.0分,共1分。)1、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是重寫形參flename所指文件中最后一個(gè)學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來的數(shù)據(jù),其他學(xué)生的數(shù)據(jù)不變。請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#inclucle<stctio.h>#defineN5typeclefstructstudent{longsno;charname[10];floatscore[3];}STU;voidfun(char*filename,STUn){FTLE*fp;/*********found*********/fp=fopen(【1】,"rb+");/*********found*********/fseek(【2】,一(long)sizeof(STU),SEEK_END);/*********found*********/fwrite(&n,sizeof(STU),【3】);fclose(fp);}main(){STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78),{10004,"FangFang",90,82,87},{10005,"ZhangSan",95,80,88)};STUn={10006,"ZhaoSi",55,70,68),ss[N];inti,j;FILE*fp;fp=fopen("student.clat","wb");fwrite(t,sizeof(STU),N,fp);fclose(fp);fp=fopen("student.dat","rb");fread(Ss,sizeof(STU),N,fp);fclose(fp);printf("\nTheoriginaldata:\n\n");for(j=0;j<N;j++){printf("\nNo:%ldName:%一8SScores.",ss[j].sno,ss[j].name);for(i=0;i<3;i++)print:f("%6.2f",ss[j].score[i]);printf("\n");}fun("student.dat",n);printf("\nThedataafterroodif-ing:\n\n");fp=fopen("student.dat","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);for(j=0;j<N;j++){print:f("\nNo:%ldName:%一8SScores:",ss[j].sno,ss[j].name);for(i=0;i<3;i++)printf("%6.2f",ss[j].score[i]);print:f("\n");}}標(biāo)準(zhǔn)答案:(1)filename(2)fp(3)fp知識(shí)點(diǎn)解析:填空1:本空是對(duì)文本文件的打開,filename所指的文件中的最后數(shù)據(jù)要進(jìn)行重寫,因此首先是要打開,因而本空填寫filename。填空2:fseek功能是重定位流上的文件指針。用法:intfseek(FILE*stream,longoffset,intfrom-where);本空應(yīng)該填寫fp。填空3:因?yàn)轭}目中要對(duì)所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中,因此本空填寫fp。知識(shí)點(diǎn)講解:函數(shù)名:fseek功能:重定位流上的文件指針。用法:intfseek(FILE*stream,longoffset,intfromwhere)。描述:函數(shù)設(shè)置文件指針stream的位置。如果執(zhí)行成功,stream將指向以fromwhere為基準(zhǔn)(從文件的哪里開始偏移)、偏移offset個(gè)字節(jié)的位置。正數(shù)表示正向偏移,負(fù)數(shù)表示負(fù)向偏移。如果執(zhí)行失?。ū热鏾ffset超過文件自身大小),則不改變stream指向的位置。返回值:成功,返回0;否則返回非0值。二、程序修改題(本題共1題,每題1.0分,共1分。)2、下列給定程序中函數(shù)Creatlink的功能是:創(chuàng)建帶頭結(jié)點(diǎn)的單向鏈表,并為各結(jié)點(diǎn)數(shù)據(jù)域賦0到m-1的值。請(qǐng)改正函數(shù)Creatlink中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>#include<stdlib.h>typedefstructaa{intdata;structaa*nextf}NODE;NODE*Creatlink(intn.intm){NODE*h=NULL,*p,*s;inti;/*********found*********/p=(NODE)malloc(sizeof(NODE));h=p;p一>next=NULL;for(i=1;i<=nfi++){s=(NODE*)malloc(sizeofs一>data=rand()%m;s一>next=p一>next;p一>next=s;p=p一>next;/*********found*********/returnp;}outlink(NODE*h){NODE*p;p=h一>next;printf"\n\nTHELIST:\n\nHEAD");while(p){printf("一>%d",p一>data);p=p一>next;}printf("\n");}main(){NODE*head;head=Creatlink(8,22);outlink(head);}標(biāo)準(zhǔn)答案:(1)p=(NODE*)malloc(sizeof(NODE));(2)returnh;知識(shí)點(diǎn)解析:(1)由變量定義可知p為指向結(jié)點(diǎn)的指針。指向剛分配的結(jié)構(gòu)指針,所以應(yīng)改為p=(NODE*)malloc(sizeof(NODE)).(2)在動(dòng)態(tài)分配內(nèi)存的下一行語句是,使用臨時(shí)結(jié)構(gòu)指針變量h保存p指針的初始位置,最后返回不能使用p,是因?yàn)閜的位置已經(jīng)發(fā)生了變化,所以應(yīng)改為returnh。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個(gè)空格隔開,一行的開始沒有空格。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。試題程序:#include<string.h>#include<stdio.h>#defineN80intfun(char*s){}voidmain(){FILE*wf;charline[N];intnum=0;printf("Enterastring:\n");gets(line);num=fun(line);printf("Thenumberofwordis:%d\n\n",num);wf=fopen"out.dat","w");fprintf(wf,"%d",fun("abigcar"));fclose(wf);/*********found*********/}標(biāo)準(zhǔn)答案:intfun(char*s){inti,j=0;for(i=0;s[i]!=’\0’;i++)if(s[i]!=’’&&(s[i+1]==’’||s[i+1]==’\0’))/*如果一個(gè)字母的下一個(gè)字符為空格或者結(jié)束標(biāo)記,則表示一個(gè)單詞結(jié)束*/j++;returnj;/*返回單詞個(gè)數(shù)*/}知識(shí)點(diǎn)解析:要判斷單詞的個(gè)數(shù),首先想到的是程序怎樣識(shí)別出一個(gè)單詞,如果一個(gè)字母的下一個(gè)字符為空格或者結(jié)束標(biāo)記,則表示一個(gè)單詞結(jié)束,因此程序使用for循環(huán)語句遍歷整個(gè)字符串,用if條件語句判斷當(dāng)前字符是否表示一個(gè)單詞的結(jié)束,如果當(dāng)前字符表示一個(gè)單詞結(jié)束,則存放單詞個(gè)數(shù)的變量加1,最后返回單詞的個(gè)數(shù)。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第4套一、程序填空題(本題共1題,每題1.0分,共1分。)1、圍繞山頂一圈有N個(gè)山洞,編號(hào)為0、1、2、3、……、N—1,有一只狐貍和一只兔子在洞中居住。狐貍總想找到兔子并吃掉它,它的尋找方法是先到第一個(gè)洞(即編號(hào)為0的洞)中找;再隔1個(gè)洞,即到編號(hào)為2的個(gè)洞中找;再隔2個(gè)洞,即到編號(hào)為5的洞中找;下次再隔3個(gè)洞;即到編號(hào)為9的洞中找;……。若狐貍找一圈,請(qǐng)為兔子指出所有不安全的洞號(hào)。程序中用a數(shù)組元素模擬一個(gè)洞,數(shù)組元素的下標(biāo)即為洞號(hào),數(shù)組元素中的值為0時(shí),表示該洞安全,為1時(shí)表示該洞不安全。若形參n的值為30時(shí),不安全的洞號(hào)是0、2、5、9、14、20、27。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<stdio.h>#defineN100voidfun(int*a,intn){inti,t;for(i=0;i<n;i++)/*********found*********/a[i]=【1】;i=0;/*********found*********/【2】=1;while(i<n){a[i]=1;t++;/*********found*********/i=【3】;}}main(){inta[N],i,n=30;fun(a,n);for(i=0;i<n;i++)if(a[i]==1)printf("不安全的洞號(hào)是:%d\n",i);}標(biāo)準(zhǔn)答案:(1)0(2)t(3)i+t知識(shí)點(diǎn)解析:首先為數(shù)組所有元素賦初值0,利用循環(huán)為符合條件的數(shù)組賦值為1,并計(jì)算下一個(gè)數(shù)據(jù)的下標(biāo)。設(shè)置一個(gè)變量存放間隔數(shù),每次循環(huán)間隔數(shù)加1。本次下標(biāo)加間隔數(shù)加1為下一個(gè)下標(biāo)。填空1:利用循環(huán)為數(shù)組所有元素賦值為0。填空2:變量t為間隔數(shù),在循環(huán)過程中每次加1,設(shè)定初始值為11。填空3:下一個(gè)數(shù)組下標(biāo)為本次的下標(biāo)加間隔數(shù)加1的值。二、程序修改題(本題共1題,每題1.0分,共1分。)2、下列給定程序的功能是:讀入一個(gè)英文文本行,將其中每個(gè)單詞的第一個(gè)字母改成大寫,然后輸出此文本行(這里”單詞”是指由空格隔開的字符串)。例如,若輸入"Iamastudenttotaketheexamination",則應(yīng)輸出"IAmAStudentToTakeTheExamination"。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:1#include<stdlib.h>2#include<string.h>3#include<conio.h>4#include<ctype.h>5#include<stdio.h>6#include<string.h>7/*********found*********/8voidupfst(charP)9{10intk=0;11for(;*P;P++)12if(k)13{14if(*P==’’)15k=0;16}17else18{19if(*P!=’’)20{21k=1;22*P=toupper(*P);23}24}25}26voidmain()27{28charchrstr[81]j29System("CLS");30printf("\nPleaseenteranEnglishtext;lihe:");31gets(chrstr);32printf("\nBoforechanging:\n%s",chrstr);33upfst(chrstr);34printf("\nAfterchanging:\n%s\n",chrstr);35}標(biāo)準(zhǔn)答案:voidupfst(char*p)知識(shí)點(diǎn)解析:主函數(shù)中fun函數(shù)的調(diào)用方式說明函數(shù)fun的參數(shù)應(yīng)為指針類型。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出下列多項(xiàng)式的值。例如,當(dāng)n=10時(shí),函數(shù)值為0.909091。注意:部分源程序在文件PROG1.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>doublefun(intn){}voidmain(){FILE*wf;system("CLS");printf("%f\n",fun(10));/******************/wf=fopen("out.dat","w");fprintf(wf,"%f",fun(10));fclose(wf);/******************/}標(biāo)準(zhǔn)答案:doublefun(intn){inti;doubles=0.0;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));/*求級(jí)數(shù)的和*/returnS;}知識(shí)點(diǎn)解析:本題要求級(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返回。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第5套一、程序填空題(本題共1題,每題1.0分,共1分。)1、給定程序中,函數(shù)fun的功能是:判定形參a所指的NxN(規(guī)定N為奇數(shù))的矩陣是否是“幻方”,若是,函數(shù)返回值為1;不是,函數(shù)返回值為0?!盎梅健钡呐卸l件是:矩陣每行、每列、主對(duì)角線及反對(duì)角線上元素之和都相等。例如,以下3x3的矩陣就是一個(gè)“幻方”:492357816請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#inolude#defitieN3intfun(int(*a)[N]){inti,j,m1,m2,row,colum;m1=m2=0;for(i=0;i標(biāo)準(zhǔn)答案:(1)0(2)||(3)1知識(shí)點(diǎn)解析:函數(shù)fun的功能是判定形參a所指的N×N的矩陣是否是”幻方”。第一空:由“row+=a[i][j];colum+=a[j][i];”可知row是計(jì)算行和,colum是計(jì)算列和,故第一空處的初始化應(yīng)將行和與列和初始化為0,即第一空處應(yīng)為“0”。第二空:“if(row!=colum)__2__(row!=m1))retum0;”如果行和不等于列和,那么矩陣不是幻方,如果行和不等對(duì)角線和,那么矩陣也不是幻方,即兩者是或的關(guān)系,故第二空處應(yīng)為“||”第三空:不是幻方的情況在前面都會(huì)返回0,所有不是幻方的情況都已經(jīng)考慮到了,剩下的就是幻方,故第三空處為“1”。二、程序修改題(本題共1題,每題1.0分,共1分。)2、給定程序MODll.C中函數(shù)fun的功能是:計(jì)算并輸出high以內(nèi)最大的10個(gè)素?cái)?shù)之和。high的值由主函數(shù)傳給fun函數(shù)。若high的值為:100,則函數(shù)的值為:732。請(qǐng)改正程序中的錯(cuò)誤,使程序能輸出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include#includeintfun(inthigh){intsum=0,n=0,j,yes;/**********found***********/while((high>=2)&&(n<10){yes=1;for(j=2;j<=high/2;j++)if(high%j==0){/**********found***********/yes=0;break}if(yes){sum+=high;n++;)high一一;}returnsum;}main(){printf(“%d\n”,fun(100));}標(biāo)準(zhǔn)答案:(1)while((2<=high)&&(n<10))(2)yes=0;break;知識(shí)點(diǎn)解析:函數(shù)的功能是計(jì)算并輸出high以內(nèi)最大的10個(gè)素?cái)?shù)之和。(1)C語言中左右括弧必須成對(duì)出現(xiàn),在第一個(gè)標(biāo)識(shí)下“while((high>=2)&&(n<10)”中,顯然缺少一個(gè)右括弧,應(yīng)改為“while((2<=high)&&(n<10))”。(2)在判斷素?cái)?shù)的循環(huán)過程中,只要被判斷的數(shù)能被某數(shù)整除就不是素?cái)?shù),就會(huì)跳出判斷循環(huán),在C語言中使用break語句跳出循環(huán),并且C語言中的語句使用分號(hào)為結(jié)尾。所以“break”應(yīng)改為“break;”。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:除了尾部的*號(hào)之外,將字符串中其他*號(hào)全部刪除。形參P已指向字符串中最后的一個(gè)字母。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:ABCDEFG*******。注意:部分源程序在文件PROGl.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。#includevoidfun(char*a,char*P){}main(){chars[81],*t;VOidNONO();printf(“Enterastring:\n”);gets(s);t=S;while(*t)t++;t一一;while(*t==‘*’)t一一;fun(S,t);printf(“Thestringafterdeleted:\n”);puts(S);NONO();}VOidNONO(){/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。*/FTLE*in,*out;inti;chars[81],*t;in=fopen(“in.dat”,“r”);out=fopen(“out.dat”,“w”);for(i=0;i<10;i++){fScanf(in,“%s”,s);t=S;while(*t)t++;t一一;while(*t==‘*’)t一一;fun(s,t);fprintf(out,“%s\n”,s);}fclose(in);fclose(out);}標(biāo)準(zhǔn)答案:char*q=a;intj=0;while(*q&&q知識(shí)點(diǎn)解析:該程序功能是除了尾部的*號(hào)之外,將字符串中其他“*”號(hào)全部刪除。其中,實(shí)現(xiàn)刪除指定元素的功能,一般是使用循環(huán)語句,通過指針變量在字符串中前后的移動(dòng),判斷其是否為要?jiǎng)h除的元素。若足,則進(jìn)行相應(yīng)的操作。還要注意的是,刪除字符后,要將其后的字符依次移動(dòng)。[解題思路](1)首先,主函數(shù)中使指針移到字符串的最后一個(gè)字符,對(duì)字符串由串尾開始進(jìn)行操作。(2)然后,指針由尾開始向頭移動(dòng),查找第一個(gè)非“*”號(hào)字符,指針t指向后一個(gè)非“*”,即從最后一個(gè)非“*”,字符開始的字符都不需要?jiǎng)h除,將前面的其他“*”號(hào)全部刪除后,將尾部的“*”字符往前移動(dòng)即可。(3)確定了字符數(shù)組的最后一一個(gè)字符非“*”后,調(diào)用fun函數(shù),在fun函數(shù)中,將原串中由起始位置的字符開始到最后一個(gè)非“*”逐個(gè)查詢?cè)撟址欠袷恰?”字符,如果是則刪除,并將后面的字符往前移動(dòng);然后將t之后的字符移動(dòng)到前面,最后在字符串的后面添加“‘\0’”即可。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第6套一、程序填空題(本題共1題,每題1.0分,共1分。)1、給定程序中,甬?dāng)?shù)fun的功能是:將參數(shù)給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫到文本文件中,再用字符串方式從此文本文件中逐個(gè)讀入,并調(diào)用庫函數(shù)atoi和atof將字符串轉(zhuǎn)換成相應(yīng)的整數(shù)、浮點(diǎn)數(shù),然后將其顯示在屏幕上。請(qǐng)存程序的下畫線處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:1#include<stdio.h>2#include<stdlib.h>3voidfun(char*s,inta,doublef)4{5/*********found*********/6【1】fp;7chatsir[100],str1[100],sir2[100];8inta1;doublef1;9fp=fopen(’’file1.txt’’,’’w’’);10fprintf(fp,’’%s%d%f\n’’,s,a,f);11/*********found*********/12【2】;13fp=fopen(’’file1.txt’’,’’r’’);14/*********found*********/15fscanf(【3】,’’%s%s%s’’,str,str1,str2);16fclose(fp);17a1=atoi(str1);18f1=atof(str2);19printf(’’\nTheresult:\n\n%s%d%f\n’’,str,a1,f1);20}21main()22{chara[10]=’’Hello!’’;23intb=12345;24doublec=98.76;25fun(a,b,c);26}標(biāo)準(zhǔn)答案:(1)FILE*(2)fclose(fp)(3)fp知識(shí)點(diǎn)解析:填空1:從使用fp=fopen(’’filel.txt’’,’’w’’)可知fp應(yīng)該是文件類型指針,因此本空應(yīng)該填寫FILE*。填空2:當(dāng)對(duì)fp作打開操作的時(shí)候,并進(jìn)行不同的操作前,應(yīng)該對(duì)其關(guān)閉,因?yàn)樵诘谝淮未蜷_時(shí)是對(duì)fp進(jìn)行寫操作,而在第二次打開后進(jìn)行的是讀操作,因此應(yīng)該先對(duì)fp進(jìn)行關(guān)閉,本空填fclose(fp)。填空3:fscanf()是把文本文件輸出,因此本空只能填寫fp。二、程序修改題(本題共1題,每題1.0分,共1分。)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)n=10時(shí),程序的輸出結(jié)果應(yīng)為23.197745。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:1#include<stdlib.h>2#include<conio.h>3#include<stdio.h>4#include<math.h>5/*********found*********/6fun(intn)7{doublesum,s0,s1,s2,s;8intk;9sum=1.0;10if(n<=2)sum=0.0;11s0=0.0;s1=0.0;s2=1.0;12for(k=4;k<=njk++)13{s=s0+s1+s2;14sum+=sqrt(s);15s0=s1;s1=s2;s2=s;16}17/*********found*********/18returnsum19}20voidmain()21{intn;22system(’’CLS’’);23printf(’’InputN=’’);24scanf(’’%d’’,&n);25printf(’’%f\n’’,fun(n));26}標(biāo)準(zhǔn)答案:(1)doublefun(int11)(2)returnsum;知識(shí)點(diǎn)解析:(1)根據(jù)函數(shù)的返回值可知函數(shù)fun應(yīng)定義為double類型。(2)語法錯(cuò)誤,缺分號(hào)。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、編寫函數(shù)fun,其功能是:求Fi-bonacci數(shù)列中大于t的最小的數(shù),結(jié)果由函數(shù)返回。Fibonacci數(shù)列F(n)的定義為:F(0)=0,F(xiàn)(1)=1F(n)=F(n-1)+F(n-2)例如,當(dāng)t=1000時(shí),函數(shù)值為1597。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。試題程序:1#include<conio.h>2#include<math.h>3#include<stdio.h>4intfun(intt)5{67}8main()9{10intn;11n=1000;12printf(’’n=%d,f=%d\n’’,n,fun(n));13}標(biāo)準(zhǔn)答案:1intfun(intt)2{3intf0=0,f1=1,f;4do{5/*根據(jù)Fiborlacci數(shù)列的定義求數(shù)值*/6f=f0+f1;7f0=f1;f1=f;8}while(f知識(shí)點(diǎn)解析:根據(jù)所給數(shù)列定義不難發(fā)現(xiàn),該數(shù)列最終的結(jié)果是由兩個(gè)數(shù)列之和組成,所以可以在循環(huán)內(nèi)部始終把f看成是前兩項(xiàng)之和,而f0始終代表第n-2項(xiàng),f1代表第n-1項(xiàng)。退出循環(huán)時(shí)得到的數(shù)f,就是大于指定數(shù)的最小的數(shù)。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第7套一、程序填空題(本題共1題,每題1.0分,共1分。)1、給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來從高位到低位的順序組成一個(gè)新的數(shù),并作為函數(shù)值返回。例如,從主函數(shù)輸入一個(gè)整數(shù):27638496,函數(shù)返回值為:26846。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,。使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#includeunsignedlongfun(unsignedlongn){unsignedlongx=0,s,i;intt;s=n;/**********found**********/i=___1___;/*********found**********/while(___2___){t=s%10;if(t%2==0){/**********found**********/x=x+t*i;i=___3___;}s=s/10;)returnx;}main(){unsignedlongn=-1;while(n>99999999||n<0){printf("Pleaseinput(0標(biāo)準(zhǔn)答案:(1)1(2)s(3)i*10知識(shí)點(diǎn)解析:函數(shù)fun的功能是將形參n中,各位上為偶數(shù)的數(shù)取出,組成新數(shù)。第一空:由“if(t%2==0){x=x+t*i;i__3__;}”可知,如果t是偶數(shù),那么t添加到返回值里面,比如第一次得到t=2,那么x=0+2*1;下一次得到了t=4,那么此時(shí)x的值應(yīng)該是2+2*10;再下一次得到t=2,那么x=22+2*100,即x的值是在上一次值的基礎(chǔ)上加上新得到的值乘以其權(quán)值,因此i是代表權(quán)值。第一空處是初始化,i,第一次進(jìn)入if語句時(shí),x是個(gè)1位數(shù),此時(shí)權(quán)值i應(yīng)為1,故第一空處應(yīng)為“1”.第二空:第二空處是填循環(huán)的終止條件,在循環(huán)體內(nèi),s每次縮小10倍,在最后一次進(jìn)入循環(huán)的時(shí)候,s是一個(gè)一位數(shù),s/10之后s變成0,下次就不應(yīng)該進(jìn)入while循環(huán),因此while循環(huán)的終止條件是s不為0,故第二空處為“s”或“s!=0”。第三空:由第一空的分析可知權(quán)值i是在上一次的基礎(chǔ)上增加10倍,故第三空處應(yīng)為“i*10”二、程序修改題(本題共1題,每題1.0分,共1分。)2、給定程序MODI1.C中函數(shù)fun的功能是:輸出M行M列整數(shù)方陣,然后求兩條對(duì)角線上元素之和,返回此和數(shù)。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。,注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#inclucte#defineM5/**********found**********/intfun(intn,intXX[][]){inti,j,sum=0;printf("\nThe%dx%dmatrix:\n",M,M);for(i=0;i標(biāo)準(zhǔn)答案:(1)intfun(intn,intxx[][M])(2)printf("%4d",xx[i][j]);知識(shí)點(diǎn)解析:函數(shù)的功能是求兩條對(duì)角線上各元素之和。(1)第一個(gè)標(biāo)識(shí)下fun函數(shù)的定義中對(duì)于二維數(shù)組的定義在原題中并沒有給出空間,所以將“intfun(intn,int)xx[][])”改為“intfun(intn,intxx[][M])”。(2)fun函數(shù)中n是int型,C語言輸出語句中整型應(yīng)該是%d,所以第二個(gè)標(biāo)識(shí)下“printf("%f",xx[i][j]);”應(yīng)該改為“printf("%4d",xx[i][j];”。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的千位和十位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。例如,當(dāng)a=45,b=12。調(diào)用該函數(shù)后,c=4251。注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。#includevoidfun(inta,intb,long*C){}voidNONO,(){/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。*/FILE*rf,*wf;inti,a,b;longc;rf=fopen("in.dat","r");wf=fopen("out;.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d,%d",&a,&b);fun(a,b,&c);fprint:f(wf,"a=%d,b=%d,c=%ld\n",a,b,c);}fclose(rf);fclose(wf);}main(){inta,b;longc,voidNONO();printf("Input:a,b:");scanf("%d%d",&a,&b);fun(a,b,&c);printf("Theiresultis:%1d\n",c);NONO();}標(biāo)準(zhǔn)答案:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);知識(shí)點(diǎn)解析:(1)分解兩位數(shù)的正整數(shù)n的個(gè)位和十位數(shù),可用n%10和n/10實(shí)現(xiàn)。(2)設(shè)x0、x1、x2、x3為一位數(shù),則x0、x1×10、x2×100、x3×1000,可以分別使x0、x1、x2、x3構(gòu)成個(gè)、十、百、千帶權(quán)數(shù),而x0+x1×10+x2×100+x3×1000構(gòu)成四位數(shù)。本題最多只考慮四位數(shù)。國家二級(jí)C語言機(jī)試(操作題)模擬試卷第8套一、程序填空題(本題共1題,每題1.0分,共1分。)1、程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是重寫形參filename所指文件中最后一個(gè)學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來的數(shù)據(jù),其他學(xué)生的數(shù)據(jù)不變。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include#defineN5typedefstructstudent{longsno;charname[10];floatscore[3];}STU;VOidfun(char*filename,STUn){FILE*fp;/**********found***********/fp=fopen(___1___,“rb+”);/**********found***********/fseek(___2___,一(long)sizeof(STU),SEEKEND);/**********found***********/fwrite(&n,sizeof(STU),1,___3___);fclose(fp);}main(){STUt[N]=({10001,“NaChao”,91,92,77),{10002,“CaoKai”,75,60,88),{10003,“LiSi”,85,70,78},{10004,“FangFang”,90,82,87),{10005,“ZhangSan”,95,80,88}};STUn={10006,“ZhaoSi”,55,70,68},SS[N];inti,j;FILE*fp;fp=fopen(“student.dat”,“wb”);fwrite(t,sizeOf(STU),N,fp);fclose(fp);fp=fopen(“student.dat”,“rb”);fread(ss,siZeOf(STU),N,fp);fclose(fp);printf(“\nTheoriginaldata:\n\n”);for(j=0;j標(biāo)準(zhǔn)答案:(1)filename(2)fp(3)fp知識(shí)點(diǎn)解析:本題中函數(shù)fun的功能是重寫形參filename所指文件中最后一個(gè)學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來的數(shù)據(jù),本題主要考察文件的讀寫。[解題思路]第一空:“fp=fopen(___1___,“rb+”);”補(bǔ)充fopen的參數(shù),fopen的調(diào)用形式是:fp=fopen(文件名,文件使用方式),因此第一空處應(yīng)填文件名“filename”。第二空:此處是補(bǔ)充fseek函數(shù)的參數(shù),fseek的調(diào)用形式是:fseek(fp,offset,position,),其中第一個(gè)參數(shù)是文件型指針,故第二空處應(yīng)填文件型指針變量“fp”。第三空:fwrite的調(diào)用形式是(buffer,size,count,fp),最后一個(gè)參數(shù)是文件型指針,故第三空處應(yīng)填“fp”,將新的學(xué)生數(shù)據(jù)寫在最后一個(gè)學(xué)生數(shù)據(jù)位置。二、程序修改題(本題共1題,每題1.0分,共1分。)2、已知一個(gè)數(shù)列從第0項(xiàng)開始的前三項(xiàng)分別為0,0,1,以后的各項(xiàng)都是其相鄰的前三項(xiàng)之和。給定程序MODll.C中函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和。n的值通過形參傳入。例如,當(dāng)n=10時(shí),程序的輸出結(jié)果應(yīng)為:23.197745。請(qǐng)改正程序中的錯(cuò)誤,使程序能輸出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include#include/**********found***********/fun(intn){doublesumfs0,s1,s2,s;intk;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***********/returnsum}main(){intn;printf(”InputN=”);scanf("%d",&n);printf(“%f\n”,fun(n));}標(biāo)準(zhǔn)答案:(1)doublefun(intn)(2)returnsum;知識(shí)點(diǎn)解析:本題中函數(shù)的功能是計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。解題思路首先根據(jù)題干求得每一項(xiàng)的值,然后再計(jì)算數(shù)列前n項(xiàng)的平方根之和。[解題思路](1)第一個(gè)錯(cuò)誤標(biāo)識(shí)下fun函數(shù)的定義根據(jù)題干要返回前n項(xiàng)的平方根之和,函數(shù)具有返回值,所以“fun(intn)”應(yīng)改為“doublefun(intn)”,其中double為雙精度型變量。(2)第二個(gè)標(biāo)識(shí)符下返回平方根之和,根據(jù)C語言語法每一句C語言后面應(yīng)該以“:”為結(jié)尾,所以“retumsum”改為“retumsum:”。三、程序設(shè)計(jì)題(本題共1題,每題1.0分,共1分。)3、請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將SS所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入“abc4EFg”,則應(yīng)輸出“aBc4EFg”。注意:部分源程序存在文件PROGl.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。#include#includevoidfun(char*ss){}main(){chartt[81];voidNONO();printf(“\nPleaseenteranstringwithin80characters:\n”);gets(tt);printf(“\n\nAfterchanging,thestring\n\”%S\“”,tt);fun(tt);printf(“\nbecomes\n\”%s\“\n”,tt);NONO();}voidNONO(){/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。*/FILE*fp,*wf;chartt[81];inti;fp=fopen(“in.dat”,“r”);wf=fopen(“out.dat”,“W”);for(i=0;i<10;i++){fscanf(fp,“%S”,tt);fun(tt);fprintf(wf,“%S\n”,tt);}fclose(fp);fclose(wf);}標(biāo)準(zhǔn)答案:inti;for(i=1;i=‘a(chǎn)’&&ss[i]<=‘z’)ss[i]一=3

溫馨提示

  • 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)論