2023年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試題庫(kù)及答案_第1頁(yè)
2023年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試題庫(kù)及答案_第2頁(yè)
2023年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試題庫(kù)及答案_第3頁(yè)
2023年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試題庫(kù)及答案_第4頁(yè)
2023年計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)考試題庫(kù)及答案_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

填空給定程序的功能是調(diào)用fun函數(shù)建立班級(jí)通訊錄。通訊錄中記錄每位學(xué)生的編號(hào),姓名和電話號(hào)碼。班級(jí)的人數(shù)和學(xué)生的信息從鍵盤讀入,每個(gè)人的信息作為一個(gè)數(shù)據(jù)塊寫到名為myfile5.dat的二進(jìn)制文獻(xiàn)中。請(qǐng)?jiān)诔绦虻南聞澗€處填入對(duì)的的內(nèi)容并把下劃線刪除,是程序得出對(duì)的的結(jié)果。注意:源程序存放在考生文獻(xiàn)夾下的BLANK1.c中不得增行或刪行,也不得更改程序的結(jié)構(gòu)!voidcheck();/**********found**********/intfun(___1___*std){/**********found**********/___2___*fp;inti;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutputdatatofile!\n");for(i=0;i<N;i++)/**********found**********/fwrite(&std[i],sizeof(STYPE),1,___3___);fclose(fp);return(1);}修改給定程序MODI1.C中函數(shù)fun的功能是:先將在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序連接到t串后面。例如:當(dāng)s中的字符串為:“ABCDE”時(shí),則他中的字符串應(yīng)為:“ABCDEEDCBA”。請(qǐng)改正程序中的錯(cuò)誤,使他能得出對(duì)的的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)!voidfun(char*s,char*t){inti,sl;sl=strlen(s);/************found************/for(i=0;i<=s1;i++)t[i]=s[i];for(i=0;i<sl;i++) t[sl+i]=s[sl-i-1];/************found************/t[sl]='\0';}程序函數(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=4152.注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修改。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。答案:B:STYPEFILEfpM:for(i=0;i<sl;i++)t[2*sl]=0;P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);填空給定程序的功能是:從鍵盤輸入若干行文本(每行不超過(guò)80個(gè)字符),寫到文獻(xiàn)myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)記。然后將文獻(xiàn)的內(nèi)容讀出顯示在屏幕上。文獻(xiàn)的讀寫分別有自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。請(qǐng)?jiān)诔绦虻南聞澗€處填入對(duì)的的內(nèi)容并把下劃線刪除,是程序得出對(duì)的的結(jié)果。注意:源程序存放在考生文獻(xiàn)夾下的BLANK1.c中不得增行或刪行,也不得更改程序的結(jié)構(gòu)!main(){FILE*fp;if((fp=fopen("myfile4.txt","w"))==NULL){printf("openfail!!\n");exit(0);}WriteText(fp);fclose(fp);if((fp=fopen("myfile4.txt","r"))==NULL){printf("openfail!!\n");exit(0);}ReadText(fp);fclose(fp);}/**********found**********/voidWriteText(FILE___1___){charstr[81];printf("\nEnterstringwith-1toend:\n");gets(str);while(strcmp(str,"-1")!=0){/**********found**********/fputs(___2___,fw);fputs("\n",fw);gets(str);}}voidReadText(FILE*fr){charstr[81];printf("\nReadfileandoutputtoscreen:\n");fgets(str,81,fr);while(!feof(fr)){/**********found**********/printf("%s",___3___);fgets(str,81,fr);}}修改給定程序MODI1.c中函數(shù)fun的功能是:從低位開始取出長(zhǎng)整形變量s中的奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中,高位仍放在高位,低位仍放在低位。例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:7531請(qǐng)改正程序中的錯(cuò)誤,使他能得出對(duì)的的結(jié)果。注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)!#include<stdio.h>/************found************/voidfun(longs,longt){longsl=10;*t=s%10;while(s>0){s=s/100;*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.注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修改。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。2、B:*fwstrstrM:long*tsl=sl*10;P:*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空給定程序中,函數(shù)fun的功能是:將自然數(shù)1~10以及它們的平方根寫到名為myfile3txt的文本文檔中,然后再順序讀出顯示在屏幕上。請(qǐng)?jiān)诔绦虻南聞澗€處填入對(duì)的的內(nèi)容并把下劃線刪除,是程序得出對(duì)的的結(jié)果。注意:源程序存放在考生文獻(xiàn)夾下的BLANK1.c中不得增行或刪行,也不得更改程序的結(jié)構(gòu)!intfun(char*fname){FILE*fp;inti,n;floatx;if((fp=fopen(fname,"w"))==NULL)return0;for(i=1;i<=10;i++)/**********found**********/fprintf(___1___,"%d%f\n",i,sqrt((double)i));printf("\nSucceed!!\n");/**********found**********/___2___;printf("\nThedatainfile:\n");/**********found**********/if((fp=fopen(___3___,"r"))==NULL)return0;fscanf(fp,"%d%f",&n,&x);while(!feof(fp)){printf("%d%f\n",n,x);fscanf(fp,"%d%f",&n,&x);}fclose(fp);return1;}修改給定程序MODI1.c中fun函數(shù)的功能是:將n個(gè)無(wú)序整數(shù)從小到大排序。fun(intn,int*a){inti,j,p,t;for(j=0;j<n-1;j++){p=j;/************found************/for(i=j+1;i<n-1;i++)if(a[p]>a[i])/************found************/t=i;if(p!=j){t=a[j];a[j]=a[p];a[p]=t;}}}程序函數(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=2514注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修改。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。3、B:fpfclose(fp)fnameM:i<np=iP:*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);填空給定程序的功能是:調(diào)用函數(shù)fun將指定源文獻(xiàn)中的內(nèi)容復(fù)制到指定的目的文獻(xiàn)中,復(fù)制成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為0,在復(fù)制的過(guò)程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文獻(xiàn)名放在變量sfname中,目的文獻(xiàn)名放在變量tfname中intfun(char*source,char*target){FILE*fs,*ft;charch;/**********found**********/if((fs=fopen(source,___1___))==NULL)return0;if((ft=fopen(target,"w"))==NULL)return0;printf("\nThedatainfile:\n");ch=fgetc(fs);/**********found**********/while(!feof(___2___)){putchar(ch);/**********found**********/fputc(ch,___3___);ch=fgetc(fs);}fclose(fs);fclose(ft);printf("\n\n");return1;}修改給定程序MODI1.C中函數(shù)fun的功能是:將長(zhǎng)整形數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如:當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:8642voidfun(longs,long*t){intd;longsl=1;*t=0;while(s>0){d=s%10;/************found************/if(d%2=0){*t=d*sl+*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注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修改。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。4、B:“r”fsftM:(d%2==0)s/=10;P:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空給定程序中已建立一個(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ù)域的值仍保持遞增有序。typedefstructlist{intdata;structlist*next;}SLIST;voidfun(SLIST*h,intx){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**********/q->next=___3___;}修改給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算正整數(shù)num的各位上的數(shù)字之積。例如,若輸入:252,則輸入應(yīng)當(dāng)是:20.若輸入:202,則輸出應(yīng)當(dāng)是:0.longfun(longnum){/************found************/longk;do{k*=num%10;/************found************/num\=10;}while(num);return(k);}請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:它的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。例如:若有5門課程的成績(jī)是:90.5,72,80,61.5,55則函數(shù)的值為:71.805、B:xpsM:longk=1;num/=10;P:inti;floatave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;returnave;填空給定程序中已建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,在main函數(shù)中將多次調(diào)用fun函數(shù),沒(méi)調(diào)用一次fun函數(shù),輸出鏈表尾部結(jié)點(diǎn)中的數(shù)據(jù),并釋放該節(jié)點(diǎn),是鏈表縮短。voidfun(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___);}修改給定程序MODI1.C中函數(shù)fun的功能是:將字符串中的字符按逆序輸出,單補(bǔ)改變字符串中的內(nèi)容。例如,若字符串味abcd,則應(yīng)輸出:dcba/************found************/fun(chara){if(*a){fun(a+1);/************found************/printf("%c"*a);}}程序請(qǐng)編寫一個(gè)函數(shù)fun,他的功能是:比較兩個(gè)字符串的長(zhǎng)度(不得調(diào)用c語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相同,則返回第一個(gè)字符串。例如,輸入beijing<CR>shanghai<CR>(<CR>為回車鍵),函數(shù)將返回shanghai6、B:nextt->datatM:fun(char*a)printf("%c",*a);P:inti;char*p=s,*q=t;for(i=0;*p&&*q;i++){p++;q++;}if(*p==0&&*q==0)returns;if(*p)returns;elsereturnt;填空給定程序中建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各節(jié)點(diǎn)按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保存一個(gè)typedefstructlist{intdata;structlist*next;}SLIST;voidfun(SLIST*h){SLIST*p,*q;p=h->next;if(p!=NULL){q=p->next;while(q!=NULL){if(p->data==q->data){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è)元素按從小到大的順序進(jìn)行排序。voidfun(inta[],intn){inti,j,t,p;for(j=0;j<n-1;j++){/************found************/p=jfor(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,它的功能是:求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。例如,若傳3送給m的之位50,則程序輸出:711142122183335424449答案:7、B:qnextnextM:p=j;p=i;P:inti;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;填空給定程序中,函數(shù)fun的gongn是:在帶有頭結(jié)點(diǎn)的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點(diǎn)。找到后通過(guò)函數(shù)值返回改結(jié)點(diǎn)在鏈表中所處的順序號(hào);若不存在值為ch的結(jié)點(diǎn),函數(shù)返回0值typedefstructlist{intdata;structlist*next;}SLIST;SLIST*creatlist(char*);voidoutlist(SLIST*);intfun(SLIST*h,charch){SLIST*p;intn=0;p=h->next;/**********found**********/while(p!=___1___){n++;/**********found**********/if(p->data==ch)return___2___;elsep=p->next;}return0;}修改給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串中的所有空白字符(涉及制表符,回車符及換行符)輸入字符串是用“#”結(jié)束輸入。fun(char*p){inti,t;charc[80];/************found************/For(i=0,t=0;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:NULLnhead,chM:forc[t]='\0';P:inti;for(i=1;i<strlen(*ss);i+=2){if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32;填空給定程序中,函數(shù)fun的功能是:記錄出帶有頭結(jié)點(diǎn)的單向鏈表中的個(gè)數(shù),存放在形參n所指的存儲(chǔ)單元中。voidfun(SLIST*h,int*n){SLIST*p;/**********found**********/___1___=0;p=h->next;while(p){(*n)++;/**********found**********/p=p->___2___;}}main(){SLIST*head;inta[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所指子字符串的地址,通過(guò)函數(shù)返回值返回,在主函數(shù)中輸出從此地址開始的字符串;若未找到,則函數(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í),則程序輸出未找到信息notbefoundchar*fun(char*s,char*t){char*p,*r,*a;/************found************/a=Null;while(*s){p=s;r=t;while(*r)/************found************/if(r==p){r++;p++;}elsebreak;if(*r=='\0')a=s;s++;}returna;}程序函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)問(wèn)為偶數(shù),同時(shí)ASCII值也為偶數(shù)的字符外,其余的所有刪除:串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中例如,若s所指的字符串中的內(nèi)容為“ABCDEFG123456”,其中字符A的ASCII碼味奇數(shù),因此應(yīng)當(dāng)刪除,其中字符b的ASCII碼值為偶數(shù),但是在數(shù)組中的下標(biāo)為基數(shù),因此也當(dāng)刪除;答案9、B:*nnextheadM:a=NULL;*r==*pP:inti,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]=0;填空給定程序中,函數(shù)fun的功能是:計(jì)算出帶有頭結(jié)點(diǎn)的單向鏈表中各結(jié)點(diǎn)數(shù)據(jù)域中值之和作為函數(shù)的返回值。intfun(SLIST*h){SLIST*p;ints=0;p=h->next;while(p){/**********found**********/s+=p->___1___;/**********found**********/p=p->___2___;}returns;}修改給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符串相同的字串所有替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中,在此處,規(guī)定t1和t2所指字符串的長(zhǎng)度相同。intfun(char*s,char*t1,char*t2,char*w){inti;char*p,*r,*a;strcpy(w,s);while(*w){p=w;r=t1;/************found************/while(r)if(*r==*p){r++;p++;}elsebreak;if(*r=='\0'){a=w;r=t2;while(*r){/************found************/*a=*r;a++;r++}w+=strlen(t2);}elsew++;}}程序函數(shù)fun的功能是;將s所指字符串下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指的數(shù)組中例如:當(dāng)s所指字符串中的內(nèi)容為:“ABCDEFGHIJK”在t所指數(shù)組中的內(nèi)容應(yīng)是“BDFHJ”10、B:datanextheadM:*rr++;P:inti,j=0;for(i=1;i<strlen(s);i+=2)t[j++]=s[i];t[j]=0;填空人員記錄有編號(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){inti;STUa={"",9999,99,99};for(i=0;i<N;i++)/**********found**********/if(strcmp(___2___,num)==0)/**********found**********/return(___3___);returna;}修改給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的字串的個(gè)數(shù)作為函數(shù)返回值例如,當(dāng)s所指字符串中的內(nèi)容為:“abcdabfab”,t所指字符串的內(nèi)容為:“ab”則函數(shù)返回整數(shù)3intfun(char*s,char*t){intn;char*p,*r;n=0;while(*s){p=s;r=t;while(*r)if(*r==*p){/************found************/r++;p++}elsebreak;/************found************/if(r=='\0')n++;s++;}returnn;}函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符B的ASCII碼值為偶數(shù)…..答案:11、B:STUstd[i].numstd[i]M:p++;*r==’\0’;P:inti,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的功能是:找出指定出生年份的人員,將其數(shù)據(jù)放在形參k所指的數(shù)組中,由主函數(shù)輸出,同事有函數(shù)值返回滿足指定條件的人數(shù)intfun(STU*std,STU*k,intyear){inti,n=0;for(i=0;i<N;i++)/**********found**********/if(___1___==year)/**********found**********/k[n++]=___2___;/**********found**********/return(___3___);}修改給定程序MODI12。C的功能是:讀入一個(gè)整數(shù)k(2《k《1000),打印她的所有因子例如2310,則應(yīng)輸出2,3,5,7,11/************found************/IsPrime(intn);{inti,m;m=1;for(i=2;i<n;i++)/************found************/if!(n%i){m=0;break;}return(m);}設(shè)計(jì)已知學(xué)生的記錄有學(xué)號(hào)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已經(jīng)存入結(jié)構(gòu)體數(shù)組a中。編寫函數(shù)fun,函數(shù)功能是:找出成績(jī)最高的學(xué)生記錄,通過(guò)形參指針傳回主函數(shù)(規(guī)定只有一個(gè)最高分)。已給出函數(shù)的首部,請(qǐng)完畢該函數(shù)12、B:std[i].yearstd[i]nM:分號(hào)去掉if(!(n%i))P:inti,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.填空給定程序通過(guò)定義并賦初值的方式,運(yùn)用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的學(xué)號(hào),姓名和3們課程的成績(jī),函數(shù)fun的功能是將該學(xué)生的各科成績(jī)都乘以一個(gè)系數(shù)avoidshow(STUtt){inti;printf("%d%s:",tt.num,);for(i=0;i<3;i++)printf("%5.1f",tt.score[i]);printf("\n");}/**********found**********/voidmodify(___1___*ss,floata){inti;for(i=0;i<3;i++)/**********found**********/ss->___2___*=a;}main(){STUstd={1,"Zhanghua",76.5,78.0,82.0};floata;printf("\nTheoriginalnumberandnameandscores:\n");show(std);printf("\nInputanumber:");scanf("%f",&a);/**********found**********/modify(___3___,a);printf("\nAresultofmodifying:\n");show(std);}修改給定程序MODI。C中函數(shù)fun的功能是:求k!(k<13),所求階乘的值作為函數(shù)值返回,例如若(k=10,則應(yīng)輸出:3628800longfun(intk){/************found************/ifk>0return(k*fun(k-1));/************found************/elseif(k=0)return1L;}設(shè)計(jì)程序定義了N*N的二維數(shù)組。并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素的值乘以n例如:若n的值為3,a數(shù)組的值為13、B:STUscore[i]&stdM:()k==0P:inti,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**********/voidfun(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]=std[2];std[2]=temp;}}main(){PERSONstd[]={5,"Zhanghu",2,"WangLi",6,"LinMin"};inti;/**********found**********/fun(___3___);printf("\nTheresultis:\n");for(i=0;i<3;i++)printf("%d,%s\n",std[i].num,std[i].name);}修改給定程序MODI1.c中函數(shù)fun的功能是:將m個(gè)字符串連接起來(lái)組成一個(gè)新串,放入pt所指存儲(chǔ)區(qū)中intfun(charstr[][10],intm,char*pt){/************found************/Intk,q,i;for(k=0;k<m;k++){q=strlen(str[k]);for(i=0;i<q;i++)/************found************/pt[i]=str[k,i];pt+=q;pt[0]=0;}}設(shè)計(jì)程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素中的值所有值014、B:*stdPERSONstdM:intstr[k][i]P:inti,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ù)中輸出STDfun(STDstd[],intn){STDmax;inti;/**********found**********/max=___1___;for(i=1;i<n;i++)/**********found**********/if(max.age<___2___)max=std[i];returnmax;}main(){STDstd[5]={"aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15};STDmax;max=fun(std,5);printf("\nTheresult:\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=65b=60/**********found**********/voidfun(inta,b){intt;/**********found**********/t=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:*stdstd[i].M:int*bt=*b;*b=*a;*a=t;P:inti,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=tt[j][i];k=j;}pp[i]=tt[k][i];}16.填空程序通過(guò)定義并賦初值的方式,運(yùn)用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的信息,函數(shù)fun的功能是輸出這位學(xué)生的信息/**********found**********/voidshow(STU___1___){inti;printf("\n%d%s%c%d-%d-%d",tt.num,,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i<3;i++)/**********found**********/printf("%5.1f",___2___);printf("\n");}main(){STUstd={1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0};printf("\nAstudentdata:\n");/**********found**********/show(___3___);}修改給定程序MODI1.c中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次大數(shù),并把最大數(shù)和a【0】中的數(shù)對(duì)調(diào),次最大數(shù)和a【1】中的書對(duì)調(diào)intfun(int*a,intn){inti,m,t,k;for(i=0;i<2;i++){/**********found**********/m=0;for(k=i+1;k<n;k++)/**********found**********/if(a[k]>a[m])k=m;t=a[i];a[i]=a[m];a[m]=t;}}設(shè)計(jì)請(qǐng)編寫一個(gè)函數(shù)unsignedfun,w是一個(gè)大與10的無(wú)符號(hào)整數(shù),若w是n為的整數(shù),函數(shù)求出w的低n-1位的數(shù)作為函數(shù)值返回例如w為5923則函數(shù)返回923;16、B:tttt.score[i]stdM:m=im=kP:if(w>10000)w%=10000;elseif(w>1000)w%=1000;elseif(w>100)w%=100;elseif(w>10)w%=10;returnw;17.填空給定程序中,函數(shù)fun的功能是:對(duì)形參ss所指字符串?dāng)?shù)組中的M個(gè)字符串按長(zhǎng)度由短到長(zhǎng)進(jìn)行排序。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)《Nvoidfun(char(*ss)[N]){inti,j,k,n[M];chart[N];for(i=0;i<M;i++)n[i]=strlen(ss[i]);for(i=0;i<M-1;i++){k=i;/**********found**********/for(j=___1___;j<M;j++)/**********found**********/if(n[k]>n[j])___2___;if(k!=i){strcpy(t,ss[i]);strcpy(ss[i],ss[k]);/**********found**********/strcpy(ss[k],___3___);n[k]=n[i];}}}給定程序MODI。C中函數(shù)fun的功能是:判斷ch中字符是否與str所指串中的某個(gè)字符相同;若相同,什么也不做,若不同,則將其插在串的最后#include<string.h>/**********found**********/voidfun(charstr,charch){while(*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+1k=jtM:char*str!=0P:charb[N];inti=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è)字符串voidfun(char(*ss)[N]){inti,j,k=0,n,m,len;for(i=0;i<M;i++){len=strlen(ss[i]);if(i==0)n=len;if(len>n){/**********found**********/n=len;___1___=i;}}for(i=0;i<M;i++)if(i!=k){m=n;len=strlen(ss[i]);/**********found**********/for(j=___2___;j>=0;j--)ss[i][m--]=ss[i][j];for(j=0;j<n-len;j++)/**********found**********/___3___='*';}}修改給定程序MODI1.c中函數(shù)fun的功能是:計(jì)算整數(shù)n的階乘doublefun(intn){doubleresult=1.0;while(n>1&&n<170)/*********found*********/result*=--n;/*********found*********/return_____;}設(shè)計(jì)編寫函數(shù)fun,函數(shù)的功能是:從s所指的字符串中刪除給定字符。同一個(gè)字母的大小寫按不同字符解決18、B:klenss[i][j]M:n--resultP:char*p=s;inti=0;while(*p){if(*p!=c)s[i++]=*p;p++;}s[i]=0;19.填空給定程序中,函數(shù)fun的功能是:求出形參ss所指字符串?dāng)?shù)組中最長(zhǎng)字符串的長(zhǎng)度,將其余字符串右邊用字符*補(bǔ)齊,使其與最長(zhǎng)的字符串等長(zhǎng)。Ss所指的字符串?dāng)?shù)組中共有M個(gè)字符串voidfun(char(*ss)[N]){inti,j,n,len=0;for(i=0;i<M;i++){len=strlen(ss[i]);if(i==0)n=len;if(len>n)n=len;}for(i=0;i<M;i++){/**********found**********/n=strlen(___1___);for(j=0;j<len-n;j++)/**********found**********/ss[i][___2___]='*';/**********found**********/ss[i][n+j+___3___]='\0';}}修改給定程序MODI1。C中函數(shù)fun的功能是將:p所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫#include<stdio.h>voidfun(char*p){intk=0;for(;*p;p++)if(k){/**********found***********/if(p==''){k=0;/**********found***********/*(p-1)=toupper(*(p-1))}}elsek=1;}設(shè)計(jì)請(qǐng)編寫函數(shù)fun,對(duì)長(zhǎng)多為7個(gè)字符的字符串,除首,尾字符外,將其余5個(gè)字符按ASCII降序排列19、B:ss[i]n+j1M:*p;P:charch;inti,j;for(i=1;i<6;i++)for(j=i+1;j<6;j++){if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}20.填空給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長(zhǎng)度最長(zhǎng)的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參n所指變量中。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串#defineN20/**********found**********/intfun(char(*ss)___1___,int*n){inti,k=0,len=0;for(i=0;i<M;i++){len=strlen(ss[i]);/**********found**********/if(i==0)*n=___2___;if(len>*n){/**********found**********/___3___;k=i;}}return(k);}修改給定程序MODI1.c中函數(shù)fun的功能是:根據(jù)形參m,計(jì)算如下公式的值doublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/**********found**********/t+=1.0/k;/**********found**********/________}設(shè)計(jì)編寫一個(gè)函數(shù),該函數(shù)可以記錄一個(gè)長(zhǎng)度為2的字符串在另個(gè)字符串中出現(xiàn)的次數(shù)20、B:[N]len*n=lenM:t+=1.0/i;returnt;P:intcnt=0;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;}returncnt;strstr:在前串中找出后串第一次出現(xiàn)的位置,若找到返回地址否則返回NULL21.填空給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長(zhǎng)度最短的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參n所指變量中intfun(char(*ss)[N],int*n){inti,k=0,len=N;/**********found**********/for(i=0;i<___1___;i++){len=strlen(ss[i]);if(i==0)*n=len;/**********found**********/if(len___2___*n){*n=len;k=i;}}/**********found**********/return(___3___);}修改給定程序MODI1.c中函數(shù)fun的功能是:將tt所指字符串中的小寫字母都改為相應(yīng)的大寫字母,其他字符不變char*fun(chartt[]){inti;for(i=0;tt[i];i++)/**********found***********/if(('a'<=tt[i])||(tt[i]<='z'))/**********found***********/tt[i]+=32;return(tt);}設(shè)計(jì)請(qǐng)編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k傳回21、B:M<kM:&&tt[i]-=32;P:inti,j;*k=0;for(i=2;i<m;i++){for(j=2;j<=i/2;j++)if(i%j==0)break;if(j<=i/2){xx[*k]=i;(*k)++;}}22.填空給定程序中,函數(shù)fun的功能是:將s所指字符串中的所有數(shù)字字符轉(zhuǎn)移到所有非數(shù)字字符之后,并保持?jǐn)?shù)字字符和非數(shù)字字符串原有的前后順序voidfun(char*s){inti,j=0,k=0;chart1[80],t2[80];for(i=0;s[i]!='\0';i++)if(s[i]>='0'&&s[i]<='9'){/**********found**********/t2[j]=s[i];___1___;}elset1[k++]=s[i];t2[j]=0;t1[k]=0;/**********found**********/for(i=0;i<k;i++)___2___;/**********found**********/for(i=0;i<___3___;i++)s[k+i]=t2[i];}修改給定程序MODI1.c中函數(shù)fun的功能是:用冒泡法對(duì)6個(gè)字符串由小到大的順序進(jìn)行排序fun(char*pstr[6]){inti,j;char*p;for(i=0;i<5;i++){/**************found**************/for(j=i+1,j<6,j++){if(strcmp(*(pstr+i),*(pstr+j))>0){p=*(pstr+i);/**************found**************/*(pstr+i)=pstr+j;*(pstr+j)=p;}}}}設(shè)計(jì)請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值22、B:j++s[i]=t1[i]jM:;;*(pstr+j)P:intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}23.填空給定程序中,函數(shù)fun的功能是:在形參所指字符串中的每個(gè)數(shù)字字符之后插入一個(gè)*號(hào)voidfun(char*s){inti,j,n;for(i=0;s[i]!='\0';i++)/**********found**********/if(s[i]>='0'___1___s[i]<='9'){n=0;/**********found**********/while(s[i+1+n]!=___2___)n++;for(j=i+n+1;j>i;j--)/**********found**********/s[j+1]=___3___;s[j+1]='*';i=i+1;}}修改給定程序MODI1.c中函數(shù)fun的功能是;根據(jù)整形形參m,計(jì)算如下公式的值設(shè)計(jì)請(qǐng)編寫函數(shù)fun,函數(shù)功能是:實(shí)現(xiàn)B=A+A’,即把矩陣A加上A的轉(zhuǎn)職,存放到B中23、B:&&0s[j]M:<=1.0P:intc[3][3];inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++){c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j];}24.填空給定程序中,函數(shù)fun的功能是:記錄形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。voidfun(char*s,int*t){inti,n;n=0;/**********found**********/for(i=0;___1___!=NULL;i++)/**********found**********/if(s[i]>='0'&&s[i]<=___2___)n++;/**********found**********/___3___;}修改給定程序MODI1.c中函數(shù)fun的功能是:通過(guò)某種方式實(shí)現(xiàn)倆個(gè)變量值的互換,規(guī)定不予許增長(zhǎng)語(yǔ)句和表達(dá)式intfun(int*x,inty){intt;/**************found**************/t=x;x=y;/**************found**************/return(y);}設(shè)計(jì)請(qǐng)編寫函數(shù)fun,它的功能是:求出1到1000之間能被7或11整除,但不能同時(shí)被7和11整除的所有整數(shù)并將他們放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)24、B:s[i]‘9’*t=n;M:t=*x;*x=y;return(t);P:inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0||(i%11)==0)&&(i%77)!=0)a[(*n)++]=i;25.填空給定程序中,函數(shù)fun的功能是:吧形參s所指字符串中下標(biāo)為奇數(shù)的字符右移到下一個(gè)奇數(shù)的位置,最后邊被移除字符串的字符繞回放到第一個(gè)奇數(shù)位置,下標(biāo)為偶數(shù)的字符不動(dòng)voidfun(char*s){inti,n,k;charc;n=0;for(i=0;s[i]!='\0';i++)n++;/**********found**********/if(n%2==0)k=n-___1___;elsek=n-2;/**********found**********/c=___2___;for(i=k-2;i>=1;i=i-2)s[i+2]=s[i];/**********found**********/s[1]=___3___;}給定程序MODI1.c中fun函數(shù)的功能是:求s=aa…aa-….aaa-aa-alongfun(inta,intn){intj;/**************found**************/longs=0,t=1;for(j=0;j<n;j++)t=t*10+a;s=t;for(j=1;j<n;j++){/**************found**************/t=t%10;s=s-t;}return(s);}設(shè)計(jì)請(qǐng)編寫一個(gè)函數(shù)fun,記錄在tt所指字符串中’a’到’z’26個(gè)小寫字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中25、B:n-1s[k]cM:t=0t=t/10P:char*p=tt;inti;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>='a'&&*p<='z')pp[*p-'a']+=1;p++;}26.填空給定程序中,函數(shù)fun的功能是:對(duì)形參s所指字符串中下標(biāo)為奇數(shù)的字符按ascii碼大小遞增排序,并將排序后下標(biāo)為基數(shù)的字符取出,存入形參p所指字符數(shù)組中,形成一個(gè)新串voidfun(char*s,char*p){inti,j,n,x,t;n=0;for(i=0;s[i]!='\0';i++)n++;for(i=1;i<n-2;i=i+2){/**********found**********/___1___;/**********found**********/for(j=___2___+2;j<n;j=j+2)if(s[t]>s[j])t=j;if(t!=i){x=s[i];s[i]=s[t];s[t]=x;}}for(i=1,j=0;i<n;i=i+2,j++)p[j]=s[i];/**********found**********/p[j]=___3___;}給定程序MODI1.c中函數(shù)fun的功能是:用下面公式求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)為止floatfun(floatnum){ints;floatn,t,pi;t=1;pi=0;n=1;s=1;/**************found**************/while(t>=num){pi=pi+t;n=n+2;s=-s;/**************found**************/t=s%n;}pi=pi*4;returnpi;}請(qǐng)編寫一個(gè)函數(shù)fun,其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符,其中,a指向原字符,刪除指定字符后的字符串存在b所指的數(shù)組中,n中存放指定下標(biāo)26、B:t=i;i0M:(fabs(t))s/nP:strncpy(b,a,n);b[n]=0;strcat(b,a+n+1);27填空給定程序中,函數(shù)fun的功能是:在形參所指字符串中尋找一個(gè)字符串與參數(shù)c相同的字符,并在其后插入一個(gè)與之相同的字符,若找不到相同的字符則函數(shù)不做任何解決voidfun(char*s,charc){inti,j,n;/**********found**********/for(i=0;s[i]!=___1___;i++)if(s[i]==c){/**********found**********/n=___2___;while(s[i+1+n]!='\0')n++;for(j=i+n+1;j>i;j--)s[j+1]=s[j];/**********found**********/s[j+1]=___3___;i=i+1;}}修改在主函數(shù)中從鍵盤輸入若干個(gè)數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中,給定程序MODI1。C中函數(shù)fun的功能是:計(jì)算數(shù)組元素中值為正數(shù)的平均值doublefun(intx[]){/************found************/intsum=0.0;intc=0,i=0;while(x[i]!=0){if(x[i]>0){sum+=x[i];c++;}i++;}/************found************/sum\=c;returnsum;}設(shè)計(jì)編寫函數(shù)fun,函數(shù)功能是:根據(jù)以下公式s,計(jì)算結(jié)果作為函數(shù)返回值,n通過(guò)形參傳入27、B:00cM:double/=P:inti,j,t;floats=0;for(i=1;i<=n;i++){t+=j;s=s+1./t;}returns;28.給

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論