版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序通過(guò)定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的信息,函數(shù)fun的功能是輸出這位學(xué)生的信息。第1處voidshow(STUtt)第2處printf("%5.1f,tt.score[i]);第2處show(std).程序修改給定程序MOD”中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次最大數(shù),并把最大數(shù)和a[0]中的數(shù)對(duì)調(diào)、次最大數(shù)和a[l]中的數(shù)對(duì)調(diào)。intfun(int*a,intn){inti,m,t,k;for(i=0;i<2;i++){/*****found******/m=i;for(k=i+l;k<n;k++)/*****found******/if(a[k]>a[m])m=k;t=a[i];a[i]=a[m];a[m]=t;}}.程序設(shè)計(jì)請(qǐng)編寫(xiě)一^t"unsignedfun(unsignedw),w是一^大于10的無(wú)符號(hào)整數(shù),若w是n(n>=2)位的整數(shù),函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。例如:w值為5923,則函數(shù)返回923;w值為923則函數(shù)返回23。unsignedfun(unsignedw)(if(w>=10000)returnw%10000;if(w>=1000)returnw%1000;if(w>=100)returnw%100;returnw%10;}二、程序填空程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào),姓名和3門(mén)課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出至student.dat文件中。函數(shù)fun的功能是從指定文件中找出指定學(xué)號(hào)的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對(duì)該生的分?jǐn)?shù)進(jìn)行修改,使每門(mén)課的分?jǐn)?shù)加3分,修改后重寫(xiě)文件中該學(xué)生的數(shù)據(jù),即用該學(xué)生的背后數(shù)據(jù)覆蓋原數(shù)據(jù),其它學(xué)生數(shù)據(jù)不變;若找不到,則什么都不做。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處while(!feof(fp))第2處if(n.sno==sno)break;第3處fseek(fp,-lL*sizeof(STU),SEEKCUR);2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:利用插入排序法對(duì)字符串中的字符按從小到大的順序進(jìn)行排序,插入法的基本算法是:先對(duì)字符串中的頭兩個(gè)元素進(jìn)行排序,然后把第三個(gè)字符插入到前兩個(gè)字符中,插入后前三個(gè)字符依然有序;再把第四個(gè)字符插入到前三個(gè)字符中 待排序的字符串已在主函數(shù)中賦予。請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。voidinsert(char*aa){inti,j,n;charch;/*******found******/n=strlen(aa);for(i=l;i<n;i++){/*******found******/ch=aa[i];j=i-l;while(0>=O)&&(ch<aa[j])){aa[j+l]=aa[j];J-;aa[j+l]=ch;}}3程序設(shè)計(jì)N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。doublefun(STREC*h){doublemax=h->s;STREC*p;p=h->next;while(p){if(p-s>max)max=p->s;p=p->next;}returnmax;}三、程序填空程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是對(duì)形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行修改,最后在主函數(shù)中輸出修改后的數(shù)據(jù)。第1處b->sno=10004;第2處strcpy(b->name,、'LiJie");第3處fun(&t);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:應(yīng)用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時(shí),平方根值為:1.414214xl=l/2*(x0+a/x0)(考試時(shí)是分?jǐn)?shù)形式)/*******found******Idoublefun(doublea,doublexO){doublexl,y;xl=(x0+a/x0)/2.0;/*******found******Iif(fabs(xl-x0)>0.00001)y=fun(a,xl);elsey=xl;returny;}3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,1^名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分?jǐn)?shù)通過(guò)函數(shù)值返回。doublefun(STREC*a,STREC*b,int*n){doublet=0;inti;*n=0;for(i=0;i<N;i++)t=t+a[i].s;t=t/N;for(i=0;i<N;i++)if(a[i].s>t)b[(*n)++]=a[i];returnt;}四、程序填空程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并把a(bǔ)中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。第1處structstudent*fun(structstudent*a)第2處for(i=0;i<3;i++)a->score[i]+=l;第3處returna;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:從N個(gè)字符串中找出最長(zhǎng)的那個(gè)串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放入一個(gè)字符串?dāng)?shù)組中。/*******found******/char*fun(char(*sq)[M]){inti;char*sp;sp=sq[O];for(i=0;i<N;i++)if(strlen(sp)<strlen(sq[i]))sp=sq[i];/*******found******/returnsp;3程序設(shè)計(jì)函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上。#include<stdio.h>voidfun(inta,intb,long*c){*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號(hào)和姓名,最后輸出修改后的數(shù)據(jù)。第1處b=a;第2處strcpy(,"LiSi")第3處for(i=0;i<3;i++)printf(''%6.2fz/,b.score[i]);2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:從s所指字符串中刪除所有小寫(xiě)字母Co請(qǐng)改正程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。voidfun(char*s){inti,j;for(i=j=0;s[i]!=z\0';i++)/*******found******/sU++]=s[i];/*******found******I3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:將字符串的前導(dǎo)*號(hào)全部移到字符串的尾部。函數(shù)fun中給出的語(yǔ)句僅供參考。voidfun(char*a){char*p,*q;intn=0;P=a;while(*p=='*){n++;p++;}q=a;while(*p){*q=*p;p++;q++;)for(;n>O;n-)*q++=w;*q=\0。}程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將形參a中的數(shù)據(jù)進(jìn)行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進(jìn)行輸出。第1處structstudentfun(structstudenta)第2處strcpy(,"LiSi");第3處a.score[i]+=l;2程序修改假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。給定程序MODILC中函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。N中存放的是數(shù)列中元素的個(gè)數(shù)。fun(int*a,intn,intx){intp=O,i;a[n]=x;while(x!=a[p])P=P+1;/*******found******Iif(p==n)return-1'else{for(i=p;i<n;i++)/*******found******/a[i]=a[i+l];returnn-1;})3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成。N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分階段數(shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。intfun(STREC*a,STREC*b)(inti,j=O,min=a[O].s;for(i=O;i<N;i++){if(min>a[i].s){j=O;b[j++]=a[i];min=a[i].s;)elseif(min==a[i].s)bD++]=a[i];}returnj;}程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學(xué)生數(shù)據(jù),并按照學(xué)號(hào)從小到大排序后,再用二進(jìn)制方式把排序后的學(xué)生數(shù)據(jù)輸出到filename所指的文件中,覆蓋原來(lái)的文件內(nèi)容。第1處fp=fopen(filename,"rb");第2處if(s[i].sno>s[j].sno)第3處fwrite(s,sizeof(STU),N,fp);程序修改給定程序M0DI1.C中函數(shù)fun的功能是:在字符串的最前端加入n個(gè)*號(hào),形成新串,差且覆蓋原串。注意:字符串的長(zhǎng)度最長(zhǎng)允許為79.voidfun(chars[],intn){chara[80],*p;inti;/*****found******/P=S;for(i=0;i<n;i++)a[i]='*';do{a[i]=*p;i++;}/*****found******/while(*p++)a[i]=0;strcpy(s,a);}程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:統(tǒng)計(jì)各年齡段的人數(shù),N個(gè)年齡能過(guò)調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中:要求函數(shù)把0至9歲的年齡段的人數(shù)放在d[0]中,把10至19歲的年齡段的人數(shù)放在d[l]中,把20至29歲的年齡段的人數(shù)放在d[2]中,其余依次類(lèi)推,把100歲(含100歲)以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸出。voidfun(int*a,int*b)(inti,j;for(i=0;i<M;i++)b[i]=0;for(i=0;i<N;i++){j=a[i]/10;if0>lO)b[M-l]++;elseb[j]++;}}程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)?fun的功能是重寫(xiě)形參filename所指的文件中最后一個(gè)學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來(lái)的數(shù)據(jù),其它學(xué)生的數(shù)據(jù)不變。第1處:fp=fopen(filename,"rb+'O第2處:fseek(fp,-lL*sizeof(STU),SEEK_END);第3處:fwrite(&n,sizeof(STU),l,fp);程序修改給定程序MODI1.C中的函數(shù)Creatlink的功能是創(chuàng)建帶頭結(jié)點(diǎn)的單向鏈表,并為各結(jié)點(diǎn)數(shù)據(jù)域賦0到m-1的值。請(qǐng)改正函數(shù)Creatlink中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。NODE*Creatlink(intn,intm){NODE*h=NULL,*p,*S;inti;/*****found******/p=(NODE*)malloc(sizeof(NODE));h=p;p->next=null;for(i=l;i<=n;i++){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;/*****found******/returnh;}程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫(xiě)字母組成,單詞之間由若干個(gè)空格格開(kāi),一行的開(kāi)始沒(méi)有空格。intfun(char*s){intk=l;while(*s){if(*s==")k++;s++;}returnk;}程序通過(guò)定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲(chǔ)了若干名學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序(從小到大)排序。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處structstudentt;第2處for(i=0;i<n-l;i++)第3處if(strcmp(a[i].name,a[j].name)>0)2程序修改給定程序MODILC中函數(shù)fun的功能是:在p所指字符串中找出ASCH碼值最大的字符,將其放在第一個(gè)位置上;并將該字符前的原字符向后順序移動(dòng)。fun(char*p){charmax,*q;inti=0;max=p[i];while(p[i]!=0){max=p[i];/*******found******/q=p+i;i++;/*******found******/while(q>p)q-;p[O]=max;}3程序設(shè)計(jì)學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,1^名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫(xiě)了函數(shù)fun,它的功能是:把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。intfun(STREC*a,STREC*b,intI,inth){inti,j=0;for(i=0;i<N;i++)if((a[i].s>=l&&a[i].s<=h)b[j++]=a[i];returnj;}/*程序中I是用L的小寫(xiě)*/給定程序的功能是:從鍵盤(pán)輸入若干行文本(每行不得超過(guò)80個(gè)字符),寫(xiě)到文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)志。然后將文件的內(nèi)容讀出顯示在屏幕上。文件的讀寫(xiě)分別由自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。第1處voidWriteText(FILE*fw)第2處fputs(str,fw);fputs("\n",fw);第3處printf(u%s",str);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:從低位開(kāi)始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。/*******found******/voidfun(longs,long*t){longsl=10;*t=s%10;while(s>0){s=s/100;*t=s%10*sl+*t;/*******found******/sl=sl*10;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);}給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為Oo在復(fù)制的過(guò)程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放在變量tfname中。第1處if((fs=fopen(source,T))==NULL)第2處while(!feof(fs))第3處fputc(ch,ft);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將長(zhǎng)整型中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。voidfun(longs,long*t){intd;longsl=l;*t=0;while(s>0){d=s%10;/*******found******/if(d%2==0){*t=d*sl+*t;sl*=10;/*******found******/s/=10;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。voidfun(inta,intb,long*c){*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);}給定程序的功能是調(diào)用fun函數(shù)建立班級(jí)通訊錄。通訊錄中記錄每位學(xué)生的編號(hào)、姓名和電話號(hào)碼。班級(jí)的人數(shù)和學(xué)生的信息從鍵盤(pán)讀入,每個(gè)人的信息作為一個(gè)數(shù)據(jù)塊寫(xiě)到名為my行Ie5,dat的二進(jìn)制文件中。第1處intfun(STYPE*std)第2處FILE*fp;inti;第3處fwrite(&std[i],sizeof(STYPE),l,fp);2程序修改給定程序MODILC中函數(shù)fun的功能是:先將在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序連接到t串的后面。voidfun(char*s,char*t){inti,sl;sl=strlen(s);/*******found******Ifor(i=0;i<sl;i++)for(i=O;i<sl;i++)/*******found******/t[2*sl]=0;3程序設(shè)計(jì)函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);}給定程序通過(guò)定義并賦值的方式,利用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將該學(xué)生的各科成績(jī)都乘以一個(gè)系統(tǒng)a。第1處voidmodify(STU*ss,floata)第2處ss->score[i]*=a;第3處modify(&std,a);.程序修改給定程序MODI1.C中函數(shù)fun的功能是:求k!<13>,所求階乘的值作為函數(shù)值返回。例如:若k=10,則應(yīng)輸出:3628800olongfun(intk)elseif(k==O)returnIL;}.程序設(shè)計(jì)程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(inta口[N],intn),函數(shù)的功能是:使數(shù)組左下三角元素中的值乘以fun(inta[][N],intn){inti,j;for(i=0;ivN;i++)for(j=0;j<=i;j++)給定程序中,函數(shù)fun的功能:將a所指4x3矩陣中第k行的元素與第0行元素交換。例如:有下列矩陣123456789101112若k為2,程序執(zhí)行結(jié)果為T(mén)OC\o"1-5"\h\z7 8 94 5 61 2 310 11 12第1處voidfun(int(*a)[N],intk)第2處for(i=0;i<N;i++)第3處a[0][i]=a[k][i];2程序修改給定程序MODI1.C中函數(shù)fun的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCH碼升序排序后輸出。例如,若輸入edcba,則應(yīng)輸出:abcde。voidfun(chart[])(charc;inti,j;/*******found******/for(i=strlen(t)-l;i;i-)/*******found******/if(t[j]>t[j+l])(C=t[j];tD]=t[j+l];t[j+l]=c;}}3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,其功能:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。voidfun(char*ss){char*p=ss;inti=0;while(*p){if((i%2)&&(*p>='a'&&*p<=N))*p-=32;P++;i++;)}給定程序中,函數(shù)fun的功能是,將形參s所指字符串中的所有數(shù)字字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數(shù)值返回。第1處p[j]=s[i];j++;}第2處for(i=0;i<k;i++)p[j+i]=t[i];第3處returnp;2程序修改給定程序MODILC中函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符,按排列的順序交叉合并到c所指數(shù)組中,過(guò)長(zhǎng)的剩余字符接在c所指數(shù)組的尾部。voidfun(char*a,char*b,char*c)inti,j;charch;i=O;j=strlen(b)-l;/*******found******Iwhile(i<j){ch=b[i];b[i]=b[j];bU]=ch;while(*a||*b)(/*******found******/if(*a){*c=*a;c++;a++;}if(*b){*c=*b;c++;b++;}}*c=0;}3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)同時(shí)ASCH值為奇數(shù)的字符刪除,s所指串中剩余的字符形成的新串放在t所指的數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))tU++]=s[i];tU]=o;}給定程序中,函數(shù)fun的功能是:對(duì)行參ss所指字符串?dāng)?shù)組中的M個(gè)字符串按長(zhǎng)度有短到長(zhǎng)進(jìn)行排序。ss所指字符串?dāng)?shù)組中共有M個(gè)字符,且串長(zhǎng)<N。第1處for(j=i+l;j<M;j++)第2處k=j;第3處strcpy(ss[k],t);2程序修改給定程序MODILC中函數(shù)fun的功能是:判斷ch中的字符是否與str所指串中的某個(gè)字符相同:若相同,什么也不做,則將其插在串的最后。voidfun(char*str,charch){while(*str&&*str!=ch)str++;/*******found******/if(*str!=ch){str[O]=ch;/*******found******Istr[l]=O;3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(chae*s),函數(shù)的功能是把s所指的字符串中的內(nèi)容逆置。fun(char*s)(charb[N];inti=0,j;memset(b,O,N);for(j=strlerXs)-l;j>=0;j--)b[i++]=s[j];strcpy(s,b);}給定程序中,函數(shù)fun的功能是:對(duì)形參s所指字符串中下標(biāo)為奇數(shù)的字符按ASCH碼大小遞增排序,并將排序后下標(biāo)為奇數(shù)的字符取出,存入形參p所指字符數(shù)組中,形成一個(gè)新串。第1處1=1;第2處for(j=i+2;j<n;j=j+2)第3處p[j]=O;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:用下面的公式求f[的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止:例如:程序0.0001,則程序輸出3.1414n/4=l-l/3+l/5-1/7+……floatfun(floatnum){ints;floatn,t,pi;t=l;pi=0;n=l;s=1;/*******found******/while((fabs(t))>=num){Pi=pi+t;n=n+2;s=-s;/*******found******/t=s/n;}pi=pi*4;returnpi;}3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(chara[],charb[],intn),其功能是:刪除一個(gè)字符串指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的n中存入指定的下標(biāo)。voidfun(chara[],charb[],intn){strncpy(b,a,n);b[n]=0;strcat(b,a+n+l);}給定程序中,函數(shù)fun的功能是:計(jì)算f(x)=l+x+x2/2!+…+xn/n!的前n項(xiàng)。若x=2.5,函數(shù)值為:12.182340o的前n項(xiàng)。若x=2.5,函數(shù)值為:12.182340。第1處t=l;第2處for(i=l;i<n;i++)第3處t*=x/i;2程序修改給定程序MODI1.C中函數(shù)fun的功能是;找出100至n(不大于1000)之間三位數(shù)字相等的所有整數(shù),把這些整數(shù)放在s所指數(shù)組中,把這些整數(shù)放在s所指數(shù)組中,個(gè)數(shù)作為函數(shù)值返回。intfum(int*s,intn){inti,j,k,a,b,c;j=0;for(i=100;i<n;++){/*******found******/k=i;a=k%10;k/=10;b=k%10;k/=10;/*******found******/c=k%10;if(a==b&&a==c)s[j++]=i;}returnj;}3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun的功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差:例如:給定的10個(gè)數(shù)為95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0,1輸出為s=U.730729odoublefun(doublex[10]){inti;doubleavg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i<10;i++)sum+=x[i];avg=sum/10;for(i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);returnfc;}給定程序中,函數(shù)fun的功能是:計(jì)算N*N矩陣的主對(duì)角線元素和反向?qū)蔷€元素之和,并作為函數(shù)值返回。注意:要求先累加主對(duì)角線元素中的值,然后累加反向?qū)蔷€元素的值。第1處sum=O;第2處sum+=t[i][i];第3處sum+=t[i][n-i-l];2程序修改給定程序M0DI1.C中函數(shù)fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001。doublefun(doublem,doublen)/*******found******/doubler;r=(m+n)/2;/*******found******/while(fabs(n-m)>0.001){if(funx(r)*funx(n)<0)m=r;eslen=r;r=(m+n)/2;}returnr;}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其他*號(hào)全部刪除。形參h已指向字符串中第一個(gè)字母,形參p已指向字符串中最后一個(gè)字母。在編寫(xiě)函數(shù)時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。voidfun(char*a,char*h,char*p){intj=0;char*q=a;while(*q&&q<h)a[j++]=*q++;while(*h&&*p&&h<p)(if(*h!='*')a[j++]=*h;h++;)while(*p)a[j++]=*p++;aU]=0;}給定程序中,函數(shù)fun的功能是:計(jì)算x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),平均值通過(guò)形參返回主函數(shù),將小于平均值且最接近平均值的數(shù)作為函數(shù)值返回,在主函數(shù)中輸出。第1處*av=s/N;第2處d=*av-x[i];j=i;}第3處returnx[j];2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)整型形參n計(jì)算如下公式的值。例如:若n=10,則應(yīng)輸出:0.617977oAl=l,A2=l/(1+A1),A3=l/(1+A2),An=l/(1+An-1)/*******found******/floatfun(intn){floatA=l;inti;/*******found******/for(i=2;i<=n;i++)A=1.0/(l+A);returnA;3程序設(shè)計(jì)程序定義了N'N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:使數(shù)組右上三角元素中的值乘以fun(inta[][N],intm){inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i]U]*=m;}給定程序中,函數(shù)fun的功能是:計(jì)算出帶有頭節(jié)點(diǎn)的單向鏈表中各節(jié)點(diǎn)數(shù)據(jù)域中值之和作為函數(shù)值返回。第1處s+=p->data;第2處p=p->next;第3處printf("\nsum=%d\n",fun(head));2程序修改給定程序MODILC中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與tl所指字符串相同的子串全部替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求tl和t2所指字符串的長(zhǎng)度相同。intfun(char*s,char*tl,char*t2,char*w)inti;char*p,*r,*a;strcpy(w,s)while(*w){p=w;r=tl;/*******found******/while(*r)if(*r==*p){r++;p++;}elsebreak;if(*r=='(y){a=w;r=t2;while(*r){/*******found******/*a=*r;a++;r++;}w+=strlen(t2);}elsew++;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=l;i<strlen(s);i+=2)to++]=s[i];tU]=o;}給定程序中,函數(shù)fun的功能是:計(jì)算出形參s所指字符串中包含的單詞個(gè)數(shù),作為函數(shù)值返回。為便于統(tǒng)計(jì),規(guī)定各單詞之間用空格隔開(kāi)。第1處n++;flag=l;}第2處if(*s==")flag=O;第3處s++;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:從n(形參)個(gè)學(xué)生的成績(jī)中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲(chǔ)單元中。inffun(float*s,intn,float*aver){floatave,t=0.0;intcount=0,k,i;for(k=0;k<n;k++)/*******found******/t+=s[k];ave=t/n;for(i=0;i<n;i++)if(s[i]<ave)count++;/*******found******/*aver=ave;returncount;}3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,其功能是求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元。intfun(int*s,intt,int*k)inti,pos=0,max=*s;for(i=l;i<t;i++){if(max<*(s+i)){max=*(s+i);pos=i;}}*k=pos;}給定程序中,函數(shù)fun的功能是:計(jì)算下式s=1/22+3/42+5/62+…+(2xn-l)/(2xn)2直到|(2xn-l)/(2xn)2|410-3并把計(jì)算結(jié)果作為函數(shù)值返回。例如,若形參e的值為le-3,函數(shù)值的返回值2.735678.第1處i=0;第2處i++;第3處x=(2.0*i-l)/((2.0*i)*(2.0*i));2程序修改給定程序MODILC中函數(shù)fun的功能是:將s所指字符串的正序和反序進(jìn)行連接,形成一個(gè)新串放在t所指的數(shù)組中。/*******found******/voidfun(char*s,char*t)inti,d;d=strlen(s);for(i=O;i<d;i++)for(i=0;i<d;i++)/*******found******/3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。voidfun(char*s,chatt[]){inti,j=0;for(i=l;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]=0;}給定程序中,函數(shù)fun的功能是:計(jì)算下式前5項(xiàng)的和作為函數(shù)值返回。s=lx3/22-3x5/42+5x7/62-+(-1)n-l(2*n-l)x(2xn+l)/(2xn)2例如,當(dāng)形參n的值為10時(shí),函數(shù)返回:-0.204491。第1處k=l;第2處t=2*j;第3處k=k*(-l);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:判斷一個(gè)整數(shù)是否是素?cái)?shù),若是返回1,否則返回0ointfun(intm){intk=2;while(k<=m&&(m%k))/*******found******/k++;/*******found******/if(m==k)return1;elsereturn0;}3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過(guò)形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。inti;*max=a[O];*d=O;for(i=l;i<n;i++)if(*max<a[i]){*max=a[i];*d=i;)}給定程序中,函數(shù)fun的功能是:計(jì)算下式前n項(xiàng)的和作為函數(shù)值返回。例如,當(dāng)形參n的值為10時(shí),函數(shù)返回:9.6125588s=(l*3)/22+(3*5)/42+(5*7)/62+(2*n-l)*(2*n+l)/(2*n)2(考試時(shí)公式用分式表示)第1處s=0;第2處for(i=l;i<=n;i++)第3處s=s+(2.0*i-l)*(2.0*i+l)/(t*t);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計(jì)substr所指子字符串在str所指字符串中出現(xiàn)伯次數(shù)。fun(char*str,char*substr){inti,j,k,num=0;/*******found******/for(i=0;str[i];i++)for0=i,k=O;substr[k]==str[j];k++,j++)/*******found******/if(substr[k+l]==/\09{num++;break;}returnnum;}3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求。的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止送代):程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14....。/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+doublefun(doubleeps){doubles=l,t=l./3;intn=l;while(t>=eps){s+=t;n++;t=t*n/(2.0*n+l);}return(s*2.0);}給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)組的前部,小于等于平均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù)。第1處av=s/N;第2處y[j++]=x[i];x[i]=-l;}第3處if(x[i]!=-l)y[j++]=x[i];2程序修改給定程序M0DI1.C的功能是:讀入一英文文本行,將其中每個(gè)單詞的第一個(gè)字母改成大寫(xiě),然后輸出此文本行(這里的“單詞”是指由空格隔開(kāi)的字符串)/*******found******/#include<stdio.h>/*******found******/upfst(char*p){intk=0;for(;*p;p++)if(k){if(*p==^k=0;}elseif(*p!=”){k=l;*p=toupper(*p);}}3程序設(shè)計(jì)程序定義了N'N的二級(jí)數(shù)組,并在主函數(shù)中賦值,請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作出函數(shù)值返給主函數(shù)中的Sodoublefun(intw[][N]){inti,j,n=0;doublesum=0;for(i=0;i<N;i++){sum+=w[0][i]+w[N-l][i];n+=2;}for(i=l;i<N-l;i++){sum+=w[i][O]+w[i][N-l];n+=2;}returnsum/n;}給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),作為函數(shù)值返回,并將大于平均值的數(shù)放在形參丫所指數(shù)組中,在主函數(shù)中輸出。第1處av=O;第2處av=av+x[i]/N;第3處y[j++]=x[i];2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)整型形參m,計(jì)算如下公式的值。1/100*100+1/200*200+1/300*300+……+l/m*mo/*******found******/doublefun(intm){doubley=0,d;inti;/*******found******/for(i=100;i<=m;i+=100){d=(double)i*(double)i;y+=1.0/d;}return(y);}3程序設(shè)計(jì)已知學(xué)生的記錄由學(xué)號(hào)和學(xué)生成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中,請(qǐng)編寫(xiě)函數(shù)的功能是:找出成績(jī)最低的學(xué)生記錄,通過(guò)形參返回主函數(shù)(規(guī)定只有一個(gè)最低分)fun(STUa[],STU*s)inti,min=a[O],s,j=O;for(i=l;i<N;i++)if(min>a[i].s){j=i;min=a[i].s;}*s=a[j];}給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中小于平均值的數(shù)據(jù)移至數(shù)據(jù)的前部,大于等于平均值的數(shù)據(jù)移至x決指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù)。第1處for(i=0;i<N;i++)av+=x[i]/N第2處y[j]=x[i];x[i]=-l;j++;}第3處i++;2程序修改給定程序MODU.C函數(shù)fun的功能是:統(tǒng)計(jì)字符串各元音字母(即:A、E、I、0、U)的個(gè)數(shù)。注意字母不分大、小寫(xiě)。fun(char*s,intnum[5]){intk,i=5;for(k=O;k<i;k++)/*******found******Inum[k]=O;for(;*s;s++)i=-l;/*******found******/switch(*s){case'a':case'A':{i=O;break;}{case'e':case'E':{i=l;break;}{caseT:caseT:{i=2;break;}{case'o':case'O':{i=3;break;}{case'u':case'U':{i=4;break;}}if(i>=0)num[i]++;}}3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是求出二級(jí)數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。intfun(inta[M][N]){inttot=0,i,j;for(i=0;i<N;i++){tot+=a[0][i];tot+=a[M-l][i];}for(i=l;i<M-l;i++){tot+=a[i][0];tot+=a[i][N-l];}returntot;給定程序中,函數(shù)fun的功能是:將a所指3x5矩陣中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原來(lái)左邊的各列依次繞到右邊。第1處for(p=l;p<=k;p++)第2處for(j=0;j<N-l;j++)a[i][j]=a[i]U+l];第3處a[i][N-l]=temp;2程序修改給定程序M0DI1.C是函數(shù)fun的功能是:根據(jù)形參m的值(2^m<9),在m行m列的二維數(shù)組中存放如下所示規(guī)律的數(shù)據(jù),由main函數(shù)輸出。例如,若輸入2則輸出24/*******found******/forQ=0;j<m;j++)for(k=0;k<m;k++)/*******found******/aU][k]=(k+l)*(j+l);}3程序設(shè)計(jì)函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。voidfun(inta,intb,int*c){*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);}給定程序中,函數(shù)fun的功能是:將NxN矩陣主對(duì)角線元素中的值與反向?qū)蔷€對(duì)應(yīng)位置上元素中的值進(jìn)行交換。例如,若N=3有下列矩陣:TOC\o"1-5"\h\z1 2 35 68 9交換后:2 15 68 7第1處voidfun(intt[][N],intn)第2處for(i=0;i<n;i++)第3處t[i][n-i-l]=s;2程序修改由N個(gè)有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,給定程序MODU.C中函數(shù)fun的功能是:利用折半查找算法查找整數(shù)m在數(shù)組中的位置。若找到,返回其下標(biāo)值;反之,返回-1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍:low和high(lowvhigh),然后把m與中間位置(mid)中元素的值進(jìn)行比較。如果m的值大于中間位置元素中的值,則下一次的查找范圍落在中間位置之后的元素中:反之,下一次的查找范圍落在中間位置之前的元素中。直到low>high,查找結(jié)束。/*******found******/fun(inta[],intm){intlow=0,high=N-l,mid;while(low<=high){mid=(low+high)/2;high=mid-l;/*******found******/elseif(m>a[mid])low=mid+l;elsereturn(mid);)return(-1);}3程序設(shè)計(jì)假定輸入的字符串中只包含字母和*號(hào),請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:除了尾部的*號(hào)之外,將字符串中其它*全部刪除。形參p已指向字符串中最后一個(gè)字母。在編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。voidfun(char*a,char*p){char*q=a;intj=0;while(*q&&q<p){if(*q!=,*/)a[j++]=*q;q++;}while(*p)a[j++]=*p++;aU]=0;}給定程序中,函數(shù)fun的功能是:將s所指字符串中的所有數(shù)字字符移到所有非數(shù)字字符之后,并保持?jǐn)?shù)字字符串和非數(shù)字字符串原有的先后次序。第1處j++;第2處第3處for(i=0;i<j;i++)2程序修改給定程序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+l;j<6;j++)if(strcmp(*(pstr+i),*(pstr+j))>0)p=*(pstr+i);/*******found******I*(pstr+i)=*(pstr+j);*(pstr+j)=p;3程序設(shè)計(jì)請(qǐng)煽寫(xiě)函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。intfun(char*ss,charc){intcnt=O;char*p=ss;while(*p){if(*p==c)cnt++;P++;}returnent;}給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來(lái)從高位到低們的順序組成一個(gè)新的數(shù)。并作為函數(shù)值返回。第1處i=l;第2處while(s)第3處x=x+t*i;i=i*10;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:輸出M行M列整數(shù)方陣,然后求兩條對(duì)角線上元素之和,返回此和數(shù)。/*******found******/intfun(intn,intxx[][M]){inti,j,sum=O;printf(''\nThe%dx%dmatrix:\n",M,M);for(i=0;i<M;i++){for(j=0;j<M;j++)/*******found******/printfC'%dz,,xx[i][j]);printf('\\n。;}for(i=0;i<n;i++)sum+=xx[i][i]+xx[i][n-i-l];return(sum);}函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的千位和十位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。voidfun(inta,intb,long*c){*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);}給定程序中,函數(shù)fun的功能是:將形參n中,各位上為偶數(shù)的數(shù)取出,并按原來(lái)從高位到底位相反的順序組成一個(gè)新的數(shù)。并作為函數(shù)值返回。第1處if(t%2==0)第2處x=10*x+t;第3處n=n/10;2程序修改給定程序MODILC中函數(shù)fun的功能是:將長(zhǎng)整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位于仍在低位。voidfun(longs,long*t){intd;longsl=l;/*******found******/*t=0;while(s>0){d=s%10;/*******found******/if(d%2!=0){*t=d*sl+*t;sl*=10;)s/=10;}}編寫(xiě)一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到pl所指的字符串后。voidfun(charp[],charp2[])(char*p=pl;while(*p)p++;while(*p2)*p++=*p2++;*p=0;}給定程序中,函數(shù)fun的功能是:將形參std所指結(jié)構(gòu)體數(shù)組中年齡最大者的數(shù)據(jù)作為函數(shù)值返回,并在main函數(shù)中輸出。第1處max=*std;第2處if(max.age<std[i].age)max=std[i];第3處printf("\nName:%s,Age:%d\n",,max.age);2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:實(shí)現(xiàn)兩個(gè)整數(shù)的交換。例如給a和b分別輸入:60和65,輸出為:a=65b=60/*******found******/voidfun(int*a,int*b){intt;/*******found******/t=*b;*b=*a;*a=t;}3程序設(shè)計(jì)請(qǐng)編一個(gè)函數(shù)voidfun(inttt[M][N],int叩指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。voidfun(inttt[M][N],intpp[N]){inti,j,min,k;for(i=0;i<N;i++)min=tt[O][i];k=O;for(j=l;j<M;j++)if(min>tt[j][i]){min=ttU][i];k=j;)pp[i]=tt[k][i];})給定程序中,函數(shù)fun的功能是:將形參s所指字符串所有ASCII碼小于97的字符存入形參t所指字符數(shù)組中,形成一個(gè)新串,并統(tǒng)計(jì)出符合條件的字符個(gè)數(shù)作為函數(shù)值返回。第1處*(t+n)=*s;n++;}第2處s++;第3處returnn;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:由形參給定n個(gè)實(shí)數(shù),輸出平均值,并統(tǒng)計(jì)在平均值以上(含平均值)的實(shí)數(shù)個(gè)數(shù)。intfun(floatx[],intn)/*******found******/intj,c=0;floatxa=O.O;for(j=0;j<n;j++)xa+=x[j]/n;printf(''ave=%f\n,,,xa);for(j=0;j<n;j++)/*******found******Iif(x[j]>=xa)C++;returnc;}3程序設(shè)計(jì)編寫(xiě)函數(shù)fun,其功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正整數(shù)且要求m>n。p=m!/(n!*(m-n)!)floatfun(intm,intn)(floatp;p=1.0*jc(m)/jc(n)/jc(m-n);returnp;給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,計(jì)算出這些數(shù)值的累加和作為函數(shù)值返回。第1處if(isdigit(*s))sum+=*s-48;第2處s++;第3處returnsum;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:計(jì)算小于形參k的最大的10個(gè)能被13或17整除的自然數(shù)之和。K的值由主函數(shù)傳入,若k的值為500,則函數(shù)值為46220intfun(intk){intm=O,mc=O,j;while((k>=2)&&(mc<10))/*******found******/if((k%13==0)||(k%17==0)){m=m+k;mc++;}k-;}returnm;/*******found******/3程序設(shè)計(jì)編寫(xiě)函數(shù)fun,它的功能是:求小于形參n同時(shí)能被3與7整除的所有自然數(shù)之和的平方根,并作為函數(shù)值返回。doublefun(intn)doublesum=0.0;inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);}給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數(shù)值返回。第1處t[j]=s[i];j++;第2處for(i=0;i<k;i++)t[j+i]=p[i];第3處t[j+k]=O;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與tl所指字符串相同的子串替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求tl和t2所指字符串的長(zhǎng)度相同。intfun(char*s,char*tl,char*t2,char*w)inti;char*p,*r,*a;strcpy(w,s);/*******found******/while(*w){p=w;r=tl;while(*r)/*******found******/if(*r==*p){r++;p++;}elsebreak;if(*r==\(y)a=w;w++;}r=t2;while(*r){*a=*r;a++;r++;}}3程序設(shè)計(jì)函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。voidfun(char*s,chart[]){inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=O;給定程序中,函數(shù)fun的功能是:將形參指針?biāo)附Y(jié)構(gòu)體數(shù)組中的三個(gè)元素按num成員進(jìn)行升序排列。第1處voidfun(PERSON*std)第2處PERSONtemp;第3處fun(std);2程序修改給定程序MODI1.C中函數(shù)fun的功能是:將m(lWmW10)個(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=O;i<q;i++)/*******found******/Pt+=q;Pt[O]=O;)}3程序設(shè)計(jì)程序定義了NxN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(inta[][N]),函數(shù)的功能是:使數(shù)組左下三角元素中的值全部置成Oointfun(inta[][N]){inti,j;for(i=0;i<N;i++)for0=O;j<=i;j++)a[i]Ul=O;}給定程序中,函數(shù)fun的功能是:利用指針數(shù)組對(duì)形參ss所指字符串?dāng)?shù)組中的字符串按由長(zhǎng)到短的順序排序,并輸入排序結(jié)果。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長(zhǎng)小于Mo第2處if(strlen(ps[k])<strlen(ps[j]))k=j;第3處tp=ps[i];ps[i]=ps[k];ps[k]=tp;2程序修改已知一個(gè)數(shù)列從第0項(xiàng)開(kāi)始的前三項(xiàng)分別為0,0」,以后的各項(xiàng)都是其相鄰的前三項(xiàng)之和。給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和。n的值通過(guò)形參傳入。/*******found******/doublefun(intn){doublesum,s0,sl,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;s0=0.0;sl=0.0,s2=1.0;for(k=4;k<=n;k++){s=s0+sl+s2;sum+=sqrt(s);s0=sl;sl=s2;s2=s;/*******found******/returnsum;3程序設(shè)計(jì)編寫(xiě)函數(shù)fun,它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。例如,當(dāng)n=10,x=0.3時(shí),函數(shù)值為1.349859.S=1+x+x2/2!+x3/3!+ xn/n!doublefun(doublex,intn){doubles=1.0fy=x;inti;for(i=l;i<=n;i++)(s+=y/(double)jc(i);y*=x;)returns;}給定程序中,函數(shù)fun的功能是:判定形參a所指的NxN(規(guī)定N為奇數(shù))的矩陣是否是“幻方”,若是,函數(shù)返回值為1;不是,函數(shù)返回值為0?!盎梅健钡呐卸l件是:矩陣每行、每列、主對(duì)角線及反對(duì)角線上元素之和都相等。第1處row=colum=0;第2處if((row!=colum)||(row!=ml))return0;第3處return1;2程序修改給定MODILCfun函數(shù)的功能是:根據(jù)整型形參m,計(jì)算如下公式的值。t=l-l/2-l/3- -1/m.#include<sdio.h>doublefun(intm)doublet=1.0;inti;for(i=2;i<=m;i++)/********found***********I/********found***********Ireturnt;3程序設(shè)計(jì)請(qǐng)編寫(xiě)一個(gè)函數(shù),函數(shù)的功能是刪除字符串中的所有空格。intfun(char*str){char*p=str;inti=0;while(*p){if(*p!=,,)str[i++]=*p;P++;)str[i]=O;給定程序中,函數(shù)fun的功能是:判斷形參s所指字符串是否是“回文”(Palindrome)若是,函數(shù)返回值為1;不是,函數(shù)返回值為0,“回文'是正讀和反讀都是一樣的字符串(不區(qū)分大小寫(xiě)字母)。第1處lp=s;第2處lp++;rp-;}第3處if(lp<rp)return0;2程序修改給定程序MODI1.C中函數(shù)fun的功能是:求出以下分?jǐn)?shù)序列的前n項(xiàng)之和。2/1+3/2+5/3+8/5+13/8+21/13+……和值通過(guò)函數(shù)值近回main函數(shù)。例如,若n=5,則應(yīng)輸出:8.391667o/*******found******/doublefun(intn){inta=2,b=l,c,k;doubles=0.0;for(k=l;k<=n;k++){s=s+1.0*a/b;/*******found******/c=a;a+=b;b=c;}return(s);}3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:將大于形參m且緊靠m的k個(gè)素?cái)?shù)存入xx所指的數(shù)組中。例如,若輸入17,5,則應(yīng)輸出:19,23,29,31,37,函數(shù)fun中給出的語(yǔ)句僅供參考。voidfun(intm,intk,intxx[]){inti,j=l,t=m+l;while(j<=k){for(i=2;i<t;i++)if(t%i==O)break;if(i==t){xx|j-l]=i;j++;)t++;}}給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長(zhǎng)度最短的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參n所指變量中。Ss所指字符串?dāng)?shù)組中共的M個(gè)字符串,且串長(zhǎng)<N。第1處for(i=0;i<M;i++)第2處if(len<*n)第3處return(k);2程序修改給定程序M0DI1.C函數(shù)fun的功能是:將功能是:將tt所指字符串中的小寫(xiě)字母都改為對(duì)應(yīng)的大寫(xiě)字母,其它字符不變。char*fun(chartt[])inti;for(i=0;tt[i];i++)/*******found******/if(('a/<=tt[i])&&(tt[i]<=,z,))/*******found******/return(tt);3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k傳回。voidfun(intm,int*k,intxx[])(inti,cnt=0;for(i=0;i<m;i++)if(isP(i))xx[cnt++]=i;*k=cnt;}給定程序中,函數(shù)fun的功能是:求ss所指字符串?dāng)?shù)組中長(zhǎng)度最長(zhǎng)的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參n所指變量中。ss所指字符串?dāng)?shù)組中共M個(gè)字符串,且串長(zhǎng)<N。第1處intfun(char(*ss)[N],int*n)第2處if(i==O)*n=len;第3處*n=len;2程序修改給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)形參m計(jì)算如下公式的值。例如,若輸入5,則應(yīng)輸出2.283333ot=l+l/2+l/3+l/4+...+l/mdoublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/*******found******/t+=1.0/i;/*******found******/returnt;}3程序設(shè)計(jì)編寫(xiě)一個(gè)函數(shù),該函數(shù)可以統(tǒng)計(jì)一個(gè)長(zhǎng)度為2的字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。intfun(char*str,char*substr)intcnt=O;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;}給定程序中,函數(shù)fun的功能是:求出形參aa所指字符串?dāng)?shù)組中最長(zhǎng)的字符串的長(zhǎng)度,其余字符串左邊用字符*補(bǔ)齊,使其與最長(zhǎng)的字符串等長(zhǎng)。字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)<N。第1處k=i;第2處for(j=len;j>=0;j-)第3處ss[i][i]='*';2程序修改給定程序M0DI1.C中fun函數(shù)的功能是:計(jì)算整數(shù)n的階乘。請(qǐng)改正程序中的錯(cuò)誤或在下劃線處填上適當(dāng)?shù)膬?nèi)容并把下劃線刪除,使它能計(jì)算出正確的結(jié)果。doublefun(intn)doubleresult=1.0;while(n>l&&n<170)/*******found******/result*=n-;/*******found******/returnresult;}3程序設(shè)計(jì)編寫(xiě)函數(shù)fun,它的功能是:從s所指的字符串刪除給定的字符。同一字母的大、小寫(xiě)按不同字符處理。intfun(chars[],charc)(char*p=s;inti=0;while(*p){if(*p!=c)s[i++]=*p;P++;}s[i]=O;}給定程序中,函數(shù)fun的功能是:求出形參ss所指字符串?dāng)?shù)組中最長(zhǎng)字符串的長(zhǎng)度,將其余字符串右邊用字符*補(bǔ)齊,使其與最長(zhǎng)的字符串等長(zhǎng)。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)<N。請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。第1處n=strlen(ss[i]);第2處ss[i][n+j]='*';第3處ss[i][n+j+l]='\O';2程序修改給定程序MODIl.C中fun函數(shù)的功能是:將p所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(xiě)。(這里的“單詞”是指由空格隔開(kāi)的字符串)。請(qǐng)改正程序中的錯(cuò)誤之處,使它能得出正確的結(jié)果。#include<ctype.h>voidfun(char*p)intk=0;for(;*p;p++)if(k)/*******found******/if(*p==")k=0;/*******found******/*(p-l)=toupper(*(p-l));}}elsek=l;)3程序設(shè)計(jì)請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符ASCH碼降序排列。intfun(char*s,intnum){charch;inti,j;for(i=l;i<6;i++)for(j=i+l;j<6;j++){if(*(s+i)<(s+j))(ch=*(s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人經(jīng)營(yíng)性貸款還款協(xié)議模板8篇
- 二零二五年廢棄物處理及廢品回收承包合同書(shū)3篇
- 二零二五年度倉(cāng)儲(chǔ)租賃與智能化改造合同3篇
- 二零二五年度外資獨(dú)資公司股權(quán)變更操作細(xì)則合同
- 2025年個(gè)人汽車(chē)維修服務(wù)質(zhì)押擔(dān)保合同3篇
- 2025版高端餐飲集團(tuán)租賃管理與服務(wù)保障合同3篇
- 個(gè)人委托支付事務(wù)具體合同版B版
- 2024酒店裝修設(shè)計(jì)合同
- 2025年度智能果園蘋(píng)果采購(gòu)與銷(xiāo)售管理合同4篇
- 2025年度園林景觀設(shè)計(jì)專(zhuān)利授權(quán)許可合同3篇
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級(jí)國(guó)土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測(cè)對(duì)環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競(jìng)賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫(kù)及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對(duì)照(全本臺(tái)詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級(jí)語(yǔ)文閱讀理解100篇(及答案)
- 氣功修煉十奧妙
評(píng)論
0/150
提交評(píng)論