版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
全國二級考試計算機-二級C上機考試題庫全國二級考試計算機-二級C上機考試題庫全國二級考試計算機-二級C上機考試題庫資料僅供參考文件編號:2022年4月全國二級考試計算機-二級C上機考試題庫版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:類型一:調(diào)整一個數(shù)的個、十、百、千位1.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=4152。*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);填空:STYPEFILEFp改錯:for(i=0;i<=sl;i++)把s后字母改為小寫Lt[2*sl]='\0';2.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=1524。*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:*fwstrstr改錯:voidfun(longs,long*t)sl=sl*10;3.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=2514。*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);填空:fpfclose(fp)fname改錯:for(i=j+1;i<=n-1;i++)p=i;4.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=5142。*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空:"r"fsft改錯:if(d%2==0)s/=10;5.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=5241。*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);填空:kN-1temp改錯:fun(inta[][M],intm)a[j][k]=(k+1)*(j+1);6.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=2415。*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;填空:structstudent*a->score[i]a改錯:char*fun(char(*sq)[M])returnsp;7.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=1425。*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10);填空:0xt++改錯:inti,s1;s后面是小寫的Lt[i]=s[sl-i-1];8.請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=4251。*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);填空:1si*10改錯:intfun(intn,intxx[][M])printf("%d",xx[i][j]);類型二:與*號有關的操作9.請編寫函數(shù)fun,它的功能是:將字符串中的前導*號全部刪除,中間和尾部的*號不刪除。刪除前導*號intj=0;char*p=a;while(*p=='*')p++;while(*p){a[j++]=*p;p++;}a[j]=0;填空:[N]t[i][j]t[j][i]改錯:#defineFU(m,n)((m)/(n))return(value);10.請編寫函數(shù)fun,它的功能是:除了尾部的*號之外,將字符串中其他*號全部刪除。形參p已指向字符串中最后的一個字母。除尾部*號,其余*刪除char*q=a;intj=0;while(*q&&q<p){if(*q!='*')a[j++]=*q;q++;}while(*p)a[j++]=*p++;a[j]=0;填空:t[][N]i=0;i<ns改錯:intfun(inta[],intm)elseif(m>a[mid])11.請編寫函數(shù)fun,它的功能是:除了字符串前導和尾部的*號之外,將串中其他*號全部刪除。只刪除中間*號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++;a[j]=0;填空:sum=0t[i][i]1改錯:doubler;while(fabs(m-n)>12.請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。刪除串中所有*號intj=0;char*p=a;while(*p){if(*p!='*')a[j++]=*p;p++;}a[j]=0;填空:1j++j改錯:t=a;a=b;b=t;return(b);13.請編寫函數(shù)fun,它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。刪除串尾*號char*p=a;while(*p)p++;p--;while(*p=='*')p--;p++;*p=0;填空:Ni-1改錯:a2=k/10;returni;14.請編寫函數(shù)fun,它的功能是:除了字符串前導的*號之外,將串中其他*號全部刪除。除前導*外其他刪除*inti=0,k;while(a[i]=='*')i++;k=i;while(a[i]!='\0'){if(a[i]!='*')a[k++]=a[i];i++;}a[k]='\0';填空:Nkss[i]改錯:intk=0;while(*p||*q)15.請編寫函數(shù)fun,它的功能是:只刪除字符串前導和尾部的*號,串中字母之間的*號都不刪除。刪除前導和尾部*char*p=a;intj=0,len=0;while(*p){p++;len++;}while(j<len-h-e){a[j]=a[h+j];j++;}a[j]=0;填空:Nsubstr0改錯:fun(intx,inty,intz)returnj;16.請編寫函數(shù)fun,它的功能是:使字符串中尾部的*號不得多于n個串尾部*號不多于n個char*p=a;intj=0;while(*p)p++;p--;while(*p=='*')p--;p++;while(j<n&&*p){p++;j++;}*p=0;填空:a[i]%2a[j]j改錯:fun(intn)if(n==1)17.請編寫函數(shù)fun,它的功能是:使字符串的前導*號不得多于n個前導*不多于n個inti=0,j,k=0;while(a[k]=='*')k++;if(k>n){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}填空:MN0改錯:t=1;return(2*s);18.請編寫函數(shù)fun,它的功能是:將字符串中的前導*號全部移到字符串的尾部。串前*移至串尾char*p,*q;intn=0;p=a;while(*p=='*'){n++;p++;}q=a;while(*p){*q=*p;p++;q++;}for(;n>0;n--)*q++='*';*q='\0';填空:ascore[i]改錯:s[j++]=s[i];s[j]=0;19.編寫一個函數(shù),從傳入的num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址(用****作為結(jié)束輸入的標志)。inti,k=0,maxlen;maxlen=strlen(a[k]);for(i=1;i<num;i++){if(strlen(a[i])>maxlen){maxlen=strlen(a[i]);k=i;}}*max=a[k];填空:[N]ii+1改錯:aa[i]=m%k;printf("%d",aa[i-1]);類型三:與下標或ASCII碼有關20.請編寫一個函數(shù)fun,它的功能是:將ss所指字符串中所有下標為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。下標奇數(shù)位置子母改大寫inti;for(i=1;i<strlen(*ss);i+=2){if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32;}填空:kNa[k][i]改錯:for(i=strlen(t)-1;i;i--)if(t[j]>t[j+1])21.請編寫—個函數(shù)voidfun(char*ss),其功能是:將字符串ss中所有下標為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。下標奇數(shù)位置子母改大寫char*p=ss;inti=0;while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;}returnss;填空:NULLnhead,ch改錯:for(i=0,t=0;p[i];i++)c[t]='\0';22.請編寫函數(shù)fun,其功能是:將s所指字符串中下標為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。下標為偶數(shù)字符刪除inti,j=0;for(i=1;i<strlen(s);i+=2)t[j++]=s[i];t[j]=0;填空:datanexthead改錯:while(*r)*a=*r;a++;r++;23.編寫函數(shù)fun,對長度為7個字符的字符串,除首、尾字符外,將其余5個字符按ASCII碼降序排列。除首尾外其余ASCII碼降序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;}}填空:ss[i]n+j1改錯:if(*p=='')*(p-1)=toupper(*(p-1));24.請編寫函數(shù)fun,其功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。ASCII碼值為偶數(shù)刪除inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2)t[j++]=s[i];t[j]=0;填空:STUstd[i].numstd[i]改錯:r++;p++;if(*r==0)25.請編寫函數(shù)fun,其功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。ASCII值為奇數(shù)刪除inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;填空:s[i]k'\0'改錯:while(*w)if(*r==*p)26.請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為偶數(shù)、同時ASCII值也為偶數(shù)的字符外,其余的全都刪除除下標偶數(shù)同時ASCII碼值偶數(shù)之外其余全部刪除inti,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]=0;填空:*nnexthead改錯:a=NULL;if(*r==*p)27.請編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為奇數(shù)、同時ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除除下標奇數(shù)同時ASCII碼也為奇數(shù)外其余字符刪除inti,j=0;for(i=1;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]=0;填空:0i++*i改錯:voidfun(char*s,char*t)t[2*d]=0;28.請編寫函數(shù)fun,其功能是:將s所指字符串中下標為偶數(shù)同時ASCII值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在t所指的數(shù)組中。將下標為偶數(shù)同時ASCII碼為奇數(shù)刪除inti,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;填空:jkp改錯:while(i<j)if(*a)103.請編寫函數(shù)fun,函數(shù)的功能是查找x在s所指數(shù)組中下標的位置作為函數(shù)值返回,若x不存在,則返回-1inti;for(i=0;i<N;i++) {if(x==s[i])returni;}return-1;填空:i%5\na[i]改錯:return
t;for(i=0;i<N;i++)
t[i]=x[i];x[i+1]=findmid(a,b,c);類型四:數(shù)組和矩陣操作29.請編寫函數(shù)fun,該函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容;若數(shù)組中有n個整數(shù),要求把下標從0到p(p小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。下標0-p移到數(shù)組最后inti,j=0,b[N];for(i=p+1;i<n;i++)b[j++]=w[i];for(i=0;i<=p;i++)b[j++]=w[i];for(i=0;i<n;i++)w[i]=b[i];填空:p->nextqp->next改錯:while(*s)s++;30.請編寫函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。刪除一維數(shù)組相同的數(shù)inti,j=1,k=a[0];for(i=1;i<n;i++)if(k!=a[i]){a[j++]=a[i];k=a[i];}a[j]=0;returnj;填空:FILE*fclose(fp)fp改錯:t=(STU*)calloc(sizeof(STU),m);t[k]=b[j];31.請編寫一個函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。找出一維數(shù)組最大值及其下標inti;*max=a[0];*d=0;for(i=1;i<n;i++)if(*max<a[i]){*max=a[i];*d=i;}填空:12*i(-1)改錯:k++;if(m==k)32.請編寫一個函數(shù)intfun(int*s,intt,int*k),用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中。求數(shù)組最大元素及下標inti,pos=0,max=*s;for(i=1;i<t;i++){if(max<*(s+i)){max=*(s+i);pos=i;}}*k=pos;填空:n++0s++改錯:t+=s[k];*ave=ave;33.請編寫函數(shù)fun(inta[][N],intn),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值乘以n。左下三角元素乘ninti,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]*=n;填空:STUscore[i]&std改錯:if(k>0)elseif(k==0)34.請編寫函數(shù)fun(inta[][N],intn),該函數(shù)的功能是:使數(shù)組右上半三角元素中的值乘以m。右上三角元素同乘minti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]*=m;填空:*avix[j]改錯:floatfun(intn)for(i=2;i<=n;i++)35.請編寫函數(shù)fun(inta[][N]),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成0。左下三角元素置0inti,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;填空:*stdPERSONstd改錯:intk,q,i;pt[i]=str[k][i];36.請編一個函數(shù)求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中。二維數(shù)組每列最小元素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];}填空:*stdstd[i].age改錯:voidfun(int*a,int*b)t=*b;*b=*a;*a=t;37.請編寫一個函數(shù)fun,它的功能是:求出—個2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。求二維數(shù)組中最大元素的值inti,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];returnmax;填空:>2*i+1改錯:doublefun(intn)s=s+(double)a/b;38.編寫程序,實現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)。矩陣轉(zhuǎn)置inti,j,arr[3][3];memcpy(arr,array,9*sizeof(int));for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=arr[j][i];填空:Nbreakn改錯:sum=0;scanf("%d",&a[i][j]);39.請編寫函數(shù)fun,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按列的順序依次放到一維數(shù)組中。按列順序334455334455inti,j,np=0;for(i=0;i<nn;i++)for(j=0;j<mm;j++){b[np]=s[j][i];np=i*mm+j+1;}*n=np;填空:NODE*nextr改錯:if(i%2||s[i]%2==0)t[j]=’\0’;40.請編寫函數(shù)fun,該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中。按行順序3333333344444444inti,j,k;for(i=0;i<mm;i++)for(j=0;j<nn;j++){b[*n]=s[i][j];(*n)++;}填空:h->nextp->next>改錯:p=h->next;p=p->next;41.請編寫函數(shù)fun,該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。按列順序wshwshwshinti,j,k=0;for(j=0;j<N;j++)for(i=0;i<M;i++)b[k++]=s[i][j];b[k]=’\0’;填空:FILE*fpch改錯:s[j++]=s[i];s[j]='\0';.42.請編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的s。數(shù)組周邊元素的平均值inti,j,n=0;doublesum=0;for(i=0;i<N;i++){sum+=w[0][i]+w[N-1][i];n+=2;}for(i=1;i<N-1;i++){sum+=w[i][0]+w[i][N-1];n+=2;}returnsum/n;填空:s/Nj++-1改錯:#include<>upfst(char*p)43.請編寫函數(shù)fun,函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組周邊元素之和inttot=0,i,j;for(i=0;i<N;i++){tot+=a[0][i];tot+=a[M-1][i];}for(i=1;i<M-1;i++){tot+=a[i][0];tot+=a[i][N-1];}returntot;填空:x[i]/Nj++i++改錯:num[k]=0;switch(*s)44.請編寫函數(shù)fun,該函數(shù)的功能是:實現(xiàn)B=A+A’,即把矩陣A加上矩陣A的轉(zhuǎn)置,存放在矩陣B中。B=A+A’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];}填空:&&'\0's[j]改錯:for(i=2;i<=m;i++)y+=(i*i);類型五:學生分數(shù)操作45.請編寫一個函數(shù)fun,它的功能是:計算n門課程的平均分,計算結(jié)果作為函數(shù)值返回。例如:若有5門課程的成績是:,72,80,,55,則函數(shù)的值為。n門課程平均分inti;floatave=;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;returnave;填空:xps改錯:longk=1;num/=10;名學生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結(jié)構中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。N名學生的成績的平均分,STREC*p=h->next;doubleav=;intn=0;while(p!=NULL){av=av+p->s;p=p->next;n++;}av/=n;returnav;填空:charch<='9''0'改錯:b[k]=*p;b[k++]=‘’;47.某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數(shù)中給出。請編寫函數(shù)fun,它的功能是:求出該學生的平均分放在記錄的ave成員中。8門課程平均分inti;for(i=0;i<N;i++)a->ave=a->ave+a->s[i];a->ave/=N;填空:a[i]a[j]a[j]改錯:switch(g)case1:case2:return1;48.請編寫函數(shù)fun,該函數(shù)的功能是:找出成績最高的學生記錄。找出成績最高學生紀錄(規(guī)定只有一個最高分)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];填空:std[i].yearstd[i]n改錯:IsPrime(intn)if(!(n%i))49.請編寫函數(shù)fun,它的功能是:把低于平均分的學生數(shù)據(jù)放在b所指的數(shù)組中。低于平均分的學生數(shù)據(jù)inti;doubleave=;*n=0;for(i=0;i<N;i++)ave=ave+a[i].s;ave/=N;for(i=0;i<N;i++)if(a[i].s<ave){b[*n]=a[i];(*n)++;}returnave;填空:*a2i+1改錯:sum=;if((i+1)%5==0)50.請編寫函數(shù)fun,它的功能是:把分數(shù)最高的學生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最高的學生可能不只一個,函數(shù)返回分數(shù)最高的學生的人數(shù)。把分數(shù)最高學生數(shù)據(jù)放在b所指數(shù)組中,分數(shù)最高的學生可能不只一個inti,max=a[0].s,n=0;for(i=1;i<N;i++)if(max<a[i].s)max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[n++]=a[i];returnn;填空:1ia[p+i]改錯:floatk;if(*a<*c)51.請編寫函數(shù)fun,它的功能是:找出學生的最高分,由函數(shù)值返回。找出學生最高分由函數(shù)值返回doublemax=h->s;STREC*p;p=h->next;while(p){if(p->s>max)max=p->s;p=p->next;}returnmax;填空:fp==fp改錯:n=strlen(aa);ch=aa[i];52.請編寫函數(shù)fun,它的功能是:將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分數(shù)放在below所指的數(shù)組中。低于平均分的人作為函數(shù)值返回floatav=;inti,j=0;for(i=0;i<m;i++)av+=score[i];av/=m;for(i=0;i<m;i++)if(av>score[i])below[j++]=score[i];returnj;填空:j0i++改錯:for(i=2;i<=m;i++)y-=(i*i);53.請編寫函數(shù)fun,它的功能是:把高于等于平均分的學生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。高于等于平均分的學生數(shù)據(jù)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;填空:->sno->name&t改錯:doublefun(doublea,doublex0)if(fabs(x1-x0)>)54.請編寫函數(shù)fun,它的功能是:把分數(shù)最低的學生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最低的學生可能不止一個,函數(shù)返回分數(shù)最低的學生的人數(shù)。分數(shù)最低學生數(shù)據(jù)放在b所指數(shù)組inti,j=0,min=a[0].s;for(i=0;i<N;i++){if(min>a[i].s){j=0;b[j++]=a[i];min=a[i].s;}elseif(min==a[i].s)b[j++]=a[i];}returnj;填空:structstudent[i]改錯:if(p==n)return-1;a[i]=a[i+1];55.請編寫函數(shù)fun,該函數(shù)的功能是:找出成績最低的學生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最低分)。找出成績最低學生紀錄inti,min=a[0].s,j=0;for(i=1;i<N;i++)if(min>a[i].s){j=i;min=a[i].s;}*s=a[j];填空:0x[i]/Nj++改錯:doublefun(intm)for(i=100;i<=m;i+=100)56請編寫函數(shù)fun,它的功能是:按分數(shù)的高低排列學生的記錄,高分在前。按分數(shù)高低排列學生紀錄,高分在前STRECtmp;inti,j;for(i=0;i<N;i++)for(j=i+1;j<N;j++)if(a[i].s<a[j].s){tmp=a[i];a[i]=a[j];a[j]=tmp;}填空:999t/10x改錯:voidfun(longs,long*t)while(s>0)57.請編寫函數(shù)fun,它的功能是:函數(shù)返回指定學號的學生數(shù)據(jù),指定的學號在主函數(shù)中輸入。返回指定學號學生數(shù)據(jù)STRECc;inti;[0]='\0';=-1;for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0){strcpy,a[i].num);=a[i].s;break;}returnc;填空:n/2ia[n-i-1]改錯:n=*p-'0';n=n*8+*p-'0';58.請編寫函數(shù)fun,它的功能是:把指定分數(shù)范圍內(nèi)的學生數(shù)據(jù)放在b所指的數(shù)組中,分數(shù)范圍內(nèi)的學生人數(shù)由函數(shù)值返回。指定分數(shù)范圍內(nèi)的數(shù)據(jù)inti,j=0;for(i=0;i<N;i++)if(a[i].s>=l&&a[i].s<=h)b[j++]=a[i];returnj;填空:structstudentn-1a[i].name,a[j].name改錯:q=p+i;while(q>p)類型六:字符和字符串操作59.請編寫一個函數(shù)fun,它的功能是:比較兩個字符串的長度,返回較長的字符串。若兩個字符串長度相同,則返回第一個字符串。返回較長字符串inti;char*p=s,*q=t;for(i=0;*p&&*q;i++){p++;q++;}if(*p==0&&*q==0)returns;if(*p)returns;elsereturnt;填空:nextt->datat改錯:fun(char*a)printf("%c",*a);60.編寫函數(shù)fun,該函數(shù)的功能是:從字符串中刪除指定的字符。同一字母的大、小寫按不同字符處理。刪除給定的字符char*p=s;inti=0;while(*p){if(*p!=c)s[i++]=*p;p++;}s[i]=0;填空:klenss[i][j]改錯:result*=n--;returnresult;61.請編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。求ss指定字符個數(shù)intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;填空:j++s[i]=t1[i]j改錯:for(j=i+1;j<6;j++)*(pstr+i)=*(pstr+j);62.請編寫一個函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計在字符串中'a'到'z'26個字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。統(tǒng)計26個字母出現(xiàn)次數(shù)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++;}填空:1s[k]c改錯:longs=0,t=0;t=t/10;63.請編寫一個函數(shù)voidfun(chara[],charb[],intn),其功能是:刪除一個字符串中指定下標的字符。刪除指定下標字符strncpy(b,a,n);b[n]=0;strcat(b,a+n+1);填空:t=ii'\0'改錯:while(fabs(t)>=num)t=s/n;64.請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù)值返回。統(tǒng)計一行串中單詞個數(shù)intk=1;while(*s){if(*s=='')k++;s++;}returnk;填空:filenamefpfp改錯:p=(NODE*)malloc(sizeof(NODE));returnh;65.請編寫函數(shù)fun,該函數(shù)的功能是:將放在字符串數(shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。M個字符串合并成新串inti;*b=0;for(i=0;i<M;i++)strcat(b,a[i]);填空:next0r改錯:r=t;if(*r==0)66.請編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為回文若是則函數(shù)返回1,主函數(shù)中輸出YES,否則返回0,主函數(shù)中輸出N0。回文inti,j=strlen(str);for(i=0;i<j/2;i++)if(str[i]!=str[j-i-1])return0;return1;填空:doublef1f2改錯:p=h->next;p=p->next;67.編寫一個函數(shù)fun,它的功能是:實現(xiàn)兩個字符串的連接(不使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串后。實現(xiàn)兩個字符串連接char*p=p1;while(*p)p++;while(*p2)*p++=*p2++;*p=0;填空:010*xn/10改錯:*t=0;if(d%2!=0)68.請編寫一個函數(shù),用來刪除字符串中的所有空格。刪除字符串中所有空格char*p=str;inti=0;while(*p){if(*p!='')str[i++]=*p;p++;}str[i]=0;填空:0||1改錯:t-=i;returnt;69.請編一個函數(shù)fun(char*s),該函數(shù)的功能是把字符串中的內(nèi)容逆置。字符串逆置strrev(s);填空:i+1k=jt改錯:voidfun(char*str,charch)if(*str!=ch)str[1]=0;70.請編寫一個函數(shù)fun,它的功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)-1234數(shù)字字符串轉(zhuǎn)換為整數(shù)inti,len,t;longx=0;len=strlen(p);if(p[0]=='-'){t=-1;len--;p++;}elset=1;while(*p)x=x*10-48+(*p++);填空:100x改錯:if(n==0)result*=n--;71功能是:移動字符串中的內(nèi)容,移動的規(guī)則如下:把第1到第m個字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。1第m個字符移到串后inti,j;chart;for(i=1;i<=m;i++){t=w[0];for(j=1;w[j]!='\0';j++)w[j-1]=w[j];w[j-1]=t;}填空:doublef1f2改錯:char*fun(char*s,char*t)ss++;tt++;72.編寫一個函數(shù),該函數(shù)可以統(tǒng)計一個長度為2的字符串在另一個字符串中出現(xiàn)的次數(shù)。統(tǒng)計子串出現(xiàn)的次數(shù)intcnt=0;char*p=str,*q;while(*p){q=strstr(p,substr);if(q==NULL)break;p=q+strlen(substr);cnt++;}returncnt;填空:Nlen*n=len改錯:t+=i;returnt;101.請編寫函數(shù)fun,其功能是:統(tǒng)計s所指字符串中的數(shù)字字符個數(shù),并作為函數(shù)值返回。數(shù)字字符個數(shù)intn=0;char*p=s;while(*p){if(*p>='0'&&*p<='9')n++;p++;}returnn;填空:b[k]N/2<改錯:int
t[N]
,i,
num=0;t[num++]=b[i];for(i=0;
i<num;
i++)102.請編寫函數(shù)fun,其功能是將形參s所指的字符串放入形參a所指的字符數(shù)組中,使a中存放同樣的字符串。while(*a++=*s++);a--;填空:pbp->datap->next改錯:int
i,
one=0,
zero=0;switch(
s[i]
)case
0:zero++;break;104請編函數(shù)fun,其功能是將一個數(shù)字字符串轉(zhuǎn)換成與其面值相同的長整型整數(shù)??烧{(diào)strlen函數(shù)求字符串長度。例如:在鍵盤輸入字符串2345210,函數(shù)返回長整型數(shù)2345210。數(shù)字字符串轉(zhuǎn)換為整數(shù)intlen,t;longx=0;len=strlen(s);if(s[0]=='-'){t=-1;len--;s++;}elset=1;while(*s)x=x*10-48+(*s++);returnx*t;填空:0t(t-1)*(t+2)/2改錯:b[i]=0;b[a[i]-'a']++;if(b[max]<b[i])類型七:套用公式計算型73.編寫函數(shù)fun,函數(shù)的功能是:根據(jù)以下公式計算s,計算結(jié)果作為函數(shù)值返回;n通過形參傳入。s=1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n),若n的值為11時,函數(shù)的值為。inti,j,t;floats=0;for(i=1;i<=n;i++){t=0;for(j=1;j<=i;j++)t+=j;s=s+1./t;}returns;填空:'\0'0c改錯:doublesum=;sum/=c;74.編寫函數(shù)fun,它的功能是:利用以下所示的簡單迭代方法求方程cos(x)-x=0的一個實根。Xn+1=cos(Xn)cos(x)-x=0的一個實根floatx0,x1=;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>;returnx1;填空:i++mm改錯:while((high>=2)&&(n<10))yes=0;break;75.若m的值為20,則fun函數(shù)值為。doubles=;inti;for(i=1;i<=m;i++)s+=log*i);s=sqrt(s);returns;填空:0j--j改錯:
doublef(doublex)returns;76.請編寫函數(shù)fun,其功能是:計算并輸出下列多項式值:Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!若主函數(shù)從鍵盤給n輸入15,則輸出為s=。doubles=1;longt=1;inti;for(i=1;i<=n;i++){t=t*i;s+=1./t;}returns;填空:1-1t改錯:for(i=1;i<=3;i++)if(k>=0&&k<=6)77.請編寫函數(shù)fun,其功能是:計算并輸出當x<時下列多項式的值,直到|Sn-S(n-1)|<為止。Sn=1++/2!x(2)+...+.....+1)/n!x(n)輸入后,則輸出為s=。doubles1=,p=,sum=,s0,t=;intn=1;do{s0=s1;sum+=s0;t*=n;p*=+1)*x;s1=p/t;n++;}while(fabs(s1-s0)>1e-6);returnsum;填空:xnfabs(t)改錯:for(i=1;i<=y;i++)t=t%1000;78.請編寫函數(shù)fun,其功能是:計算并輸出下列多項式值:Sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n)若輸入8后,則輸出為S=。inti;doublesum=;if(n>1&&n<=100){for(i=1;i<=n;i++)sum+=(2*i-1)(2*i);}returnsum;填空:j=2ij改錯:sum=j=0;if(sum%4==2)79.請編寫函數(shù)fun,其功能是:計算并輸出S=1+(1+2^+(1+2^+3^+……+(1+2^+3^+……+n^輸入20后,則輸出為s=。inti;doublefac=;doublesum=;for(i=2;i<=n;i++){fac+=sqrt(i);sum+=fac;}returnsum;填空:aab改錯:c=c+32;c=c+5;80.編寫函數(shù)fun,它的功能是:根據(jù)以下公式求P的值,結(jié)果由函數(shù)值帶回。m與n為兩個正整數(shù)且要求m>n。p=m!/n!(m-n)!。m=12,n=8,運行結(jié)果為。floatp;p=*jc(m)/jc(n)/jc(m-n);returnp;填空:*ss++n改錯:intj,c=0;floatxa=0.;if(x[j])>=xa)81.編寫函數(shù)fun,它的功能是:計算并輸出下列級數(shù)和:S=1/1*2+1/2*3+...+1/n(n+1)n=10時,函數(shù)值為。doubles=;inti;for(i=1;i<=n;i++)s=s+/(i*(i+1));returns;填空:*s1k[n]改錯:doublefun(intk)returns;82.請編寫函數(shù)fun,它的功能是計算下列級數(shù)和,和值由函數(shù)值返回。S=1+x+++……+當n=10,x=時,函數(shù)值為。doubles=,y=x;inti;for(i=1;i<=n;i++){s+=y/(double)jc(i);y*=x;}returns;填空:ips[j]tp改錯:doublefun(intn)returnsum;83.請編寫一個函數(shù)fun,它的功能是:根據(jù)以下公式求π的值求π的值doubles=;floatn=,t=1,pi=0;while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;returnpi;填空:0nt*t改錯:for(i=0;str[i];i++)if(substr[k+1]=='\0')84.請編寫函數(shù)fun,其功能是:計算并輸出下列多項式值:s=1+1/(1*2)+1/(1*2*3)+..1/(1*2*3...*50)例如,若主函數(shù)從鍵盤給n輸入50后,則輸出為S=。doublet,sn=;inti,j;for(i=1;i<n;i++){t=;for(j=1;j<=i;j++)t*=j;sn+=t;}returnsn;填空:n%10breakbreak改錯:if(t==0)*zero=count;類型八:求整除85.請編寫函數(shù)fun,它的功能是:求出1到1000之內(nèi)能被7或11整除、但不能同時被7和11整除的所有整數(shù)能被7或11整除,但不能同時被7和11整除inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0||(i%11)==0)&&(i%77)!=0)a[(*n)++]=i;填空:s[i]'9'*t=n改錯:t=*x;*x=y;return(t);86.請編寫一個函數(shù)fun,它的功能是:求出1到m之內(nèi)(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。能被7或11整除inti;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;填空:qnextnext改錯:p=j;p=i;87.編寫函數(shù)fun,它的功能是:求n以內(nèi)(不包括n)同時能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。例如,若n為1000時,函數(shù)值應為s=。同時能被3與7整除的所有自然數(shù)之和的平方根doublesum=;inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum+=i;returnsqrt(sum);填空:'0's++sum改錯:if((k%13==0)||(k%17==0))}88.請編寫函數(shù)voidfun(intx,intpp[],int*n),它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。能整除形參x且不是偶數(shù)的各整數(shù)inti;*n=0;for(i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;填空:t,ss[i]'\0'改錯:if(i%k==0)if(k==i)89.請編寫函數(shù)fun,它的功能是:計算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。N以內(nèi)能被5或9整除的所有自然數(shù)倒數(shù)之和inti;doublesum=;for(i=1;i<=n;i++)if(i%5==0||i%9==0)sum+=i;returnsum;填空:a[i]a[i]0改錯:y=1;d=a-i;105請編寫函數(shù)fun,其功能是:將一組得分中,去掉一個最高分和一個最低分,然后求平均值,并通過函數(shù)返回。函數(shù)形參a指向存放得分的數(shù)組,形參n中存放得分個數(shù)(n>2)。doublemax,min,pjz; inti; max=min=a[0]; for(i=1;i<n;i++) {if(max<a[i])max=a[i]; if(min>a[i])min=a[i]; } for(i=0,pjz=0;i<n;i++)pjz+=a[i]; return(pjz-max-min)/(n-2);填空:a[i]m%10m/10改錯:b[i]=a[i][0];for(j=1;j<N;j++)if(b[i]>a[i][j])類型九:其它各類計算90.請編寫函數(shù)fun,它的功能是:求Fibonacci數(shù)列中大于t的最小的一個數(shù),結(jié)果由函數(shù)返回。fibonacciintf0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);returnf;填空:N
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 達人知識大全
- 水利工程未處理遺留問題的處理措施計劃
- 生化檢驗項目實驗室間比對方案
- 車險反欺詐培訓課件
- 呼吸機相關肺炎知識試題及答案
- 車間防靜電安全培訓心得
- 車間節(jié)前安全培訓課件
- 酒店客房鑰匙卡回收管理制度
- 教師個人三年發(fā)展規(guī)劃及階段目標(2篇)
- (2026)學?!俺钥震A”專項治理工作實施方案(2篇)
- 塔司、信號工安全晨會(班前會)
- 《電力建設安全工作規(guī)程》-第1部分火力發(fā)電廠
- 2024全國職業(yè)院校技能大賽ZZ060母嬰照護賽項規(guī)程+賽題
- 回顧性臨床研究的設計和分析
- 配電一二次融合技術的發(fā)展應用
- 鋼板鋪設安全施工方案
- 八年級物理上冊期末測試試卷-附帶答案
- 硬件設計與可靠性
- 垃圾滲濾液處理站運維及滲濾液處理投標方案(技術標)
- 經(jīng)緯度叢書 秦制兩千年:封建帝王的權力規(guī)則
- ppt素材模板超級瑪麗
評論
0/150
提交評論