



版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:把一個(gè)字符串中的所有小寫(xiě)字母字符全部轉(zhuǎn)換成大寫(xiě)字母字符,其他字符不變,結(jié)果保存原來(lái)的字符串中。例如:當(dāng)str[N]="123abcdefABCDEF!”,結(jié)果輸出:“123ABCDEFABCDEF!w。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<stdIib.h>#include<conio.h>#defineN80voidmainOIintj;charstr[N]=z/123abcdefABCDEF!”;char*pf=str;clrscr0;printf(/z***originalstring***\n");puts(str);[1];while(*(pf+j))Iif(*(pf+j)>二'a'&&*(pf+j)<=z)(*(pf+j)=_(2L;)else[3];)printf(z/******newstring******\n");puts(str);system("pause");1.填空題[1]j=0 [2]*(pf+j)-32 [3]j++.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是逐個(gè)比較a,b兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCII值小或相等的字符依次存放到c數(shù)組中,形成一個(gè)新的字符串。例如:a中的字符串為fshADfg,b中的字符串為sdAEdi,則c中的字符串應(yīng)為fdAADf°請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#incIude<string.h>voidfun(char*p,char*q,char*c)(intk=0;whiIe(*p11*q)/**********************found***********************/{if(*p<二*q)c[k]=*q;elsec[k]=*p;if(*p)p++;if(*q)q++;k++1main(){chara[10]=zfshADfgzz,b[10]=/sdAEdi,/,c[80]={>\0F};fun(a,b,c);printf("Thestringa:");puts(a);printf(/xThestringb:");puts(b);printf("Theresult:puts(c);).改錯(cuò)題(1)錯(cuò)誤:{if(*p<=*q)正確:{if(*p>=*q)(2)錯(cuò)誤:k++正確:k++;.編程題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。例如,當(dāng)a=16,b=35,調(diào)用該函數(shù)后,c=5361。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>voidfun(inta,intb,long*c))main()(inta,b;longc;clrscr();printf("Inputa,b;");scanf("%d%d”,&a,&b);fun(a,b,&c);printf("Theresultis:%ld\n”,c);).編程題voidfun(inta,intb,Iong*c)(*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;]第2套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是求方程ax?+bx+c=。的兩個(gè)實(shí)數(shù)根。方程的系數(shù)a、b、c從鍵盤(pán)輸入,如果判別式(disc=b?-4ac)小于0,則要求重新輸入a、b、c的值,例如,當(dāng)a=1,b=2,c=1時(shí),方程的兩個(gè)根分別是x1=-1.00,x2=-1.00Q注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include"math,h”#include<stdio.h>mainO(fIoata,btc,disc,x1,x2;clrscr0;do[printfCInputa,b,c:");scanf("%f,%f,%fz/,&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf("disc=%f\nInputagain!\n”,disc);)while([1]);printf("*******theresuIt*******\n");x1=[2];x2=[3];printfC'\nx1坐.2f\nx2=^6.2f\n”,x1,x2);1.填空題[1]disc<0 [2](-b+sqrt(disc))/(2*a) [3](-b-sqrt(disc))/(2*a).改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是根據(jù)整型形參m,計(jì)算如下公式的值。y=1-1/(2X2)+1/(3X3)-1/(4X4)+-+(-D(*,7(mXm)例如:m中的值為5,則應(yīng)輸出0.838611。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:incIude<conio.h>incIude<stdio.h>doublefun(intm)(doubley=1.0;/**********************found***********************/intj=1;inti;for(i=2;i<=m;i++)(/**********************found***********************/y+=1/(i*i);)return(y);]main()Intn=5;cIrscr();printf(*\nTheresultis tfun(n));2.改錯(cuò)題(1)錯(cuò)誤:intj=1;正確:doublej=1.0;(2)錯(cuò)誤:y+=1/(i*i);正確:y+=j/(i*i);3.編程題請(qǐng)編一個(gè)函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude <conio.h>incIude <stdio.h>define M3define N4voidfun(inttt[M][N],intpp[N])]main0(intt[M][N]=({68,32,54,12).(14,24,88,58),{42,22,44.56)};intp[N],i,j,k;cIrscr();printf(,zTheriginaIdatais:\n");for(i=0;i<M;i++)(for(j=0;j<N;j++)printf("\n");Jfun(t,p);printf("\nTheresuItis:\n");for(k=0;k<N;k++)printfC%4dz;p[k]);printf("\n");1.編程題voidfun(inttt[M][N],intpp[N])(inti,j,max;for(j=O;j<N;j++)(max=tt[0][j]; /*假設(shè)各列中的第一個(gè)元素最大*/for(i=0;i<M;i++)if(tt[i][j]>max) /*如果各列中的其他元第3套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把一個(gè)整數(shù)轉(zhuǎn)換成字符串,并倒序保存在字符數(shù)組str中。例如:當(dāng)"13572468時(shí),str:“86427531”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#defineN80charstr[N];voidfun(Iongintn)[inti=0;whiIe([1])(str[i]=[2];n/=10;i++;)[3];)一mainO(longintrv=13572468;clrscr0;printf("***theorigiaIdata***\n");printf("n=^ld”,n);fun(n);printf("\n%s”,str);).填空題[1]n>0 [2]n%10+F0, [3]str[i]='\0'.改錯(cuò)題下列給定程序中,函數(shù)fun的功能是按以下遞歸公式求函數(shù)值二&〃(〃)=也5T)*2例如:當(dāng)給n輸入5時(shí),函數(shù)值為240;當(dāng)給n輸入3時(shí),函數(shù)值為60。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#incIude<stdio.h>fun(intn);(intc;/**********************found***********************/if(n=1)c=15;eIsec=fun(n-1)*2;return(c);]main()Intn;printf("Entern:");scanf&n);printf("Theresult:%d\n\n*,fun(n));}.改錯(cuò)題(1)錯(cuò)誤:fun(intn);正確:fun(intn)(2)錯(cuò)誤:if(n=1)正確:if(n=1).編程題請(qǐng)編寫(xiě)函數(shù)fun(),對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按ASCII值碼升序排列。例如:原來(lái)的字符串為BdsihAd,則排序后輸出為BAdhisd。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句,試題程序:incIude<stdio.h>include<ctype.h>incIude<conio.h>intfun(char*s,intnum)main()(chars[10];clrscr();printf("輸入7個(gè)字符的字符串:”);gets(s);fun(s.7);printf("\n%s”,s);)3.編程題intfun(char*s,intnum){chart;intitj;for(i=1;i<num-2;i++) /*下標(biāo)值從1開(kāi)始,用循環(huán)依次取得字符串中的字符*/for(j=i+1;j<nurrr-1;j++)/*將字符與其后的每個(gè)字符比較*/if(s[i]>s[j]) /*如果后面字符的ASCII碼值小于該字符的ASCII碼值*/{t=s[i]; /*則交換這兩個(gè)字符*/s[i]=s[j];s[j]=t;))第4套.填空題數(shù)組xx[N]保存著一組3位數(shù)的無(wú)符號(hào)正整數(shù).其元素的個(gè)數(shù)通過(guò)變量num傳入函數(shù)fun()。請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:從數(shù)組xx中找出個(gè)位和百位的數(shù)字相等的所有無(wú)符號(hào)整數(shù),結(jié)果保存在數(shù)組yy中,其個(gè)數(shù)由函數(shù)fun()返回。例如:當(dāng)xx[8]={135,78,72,32,222,424,333,141,541)時(shí),bb[6]={787,232,222,424,333,141}。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<conio.h>#defineN1000intfun(intxxO,intbb[],intnun)(inti,n=0;intg,b:for(i=0;i<num;i++)g=[1];b=xx[i]/100;if(g=b)[2];1return[3];}1mainO(intxx[8]={135,787,232,222,424,333,141,541);intyy[N];intnufff=O,n=O,i=O;nuff=8;clrscr0;printf("???originaldata***\n");for(i=0;i<num;i++)printfC%u二xx[i]);printf('\n\n\n");n=fun(xx,yy,nun);printfCz\nyy=");for(i=0;i<n;i++)printfC%u=yy[i]);).填空題xx[i]%10 [2]bb[n++]=xx[i] [3]n.改錯(cuò)題下列給定程序中函數(shù)fun()的功能是計(jì)算1/n!的值。例如:給n輸入5,則輸出0.008333。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#incIude<conio.h>/**********************found***********************/intfun(intn){doubIeresult=1.0;if(n=0)return1.0;while(n>1&&n<170)/**********************found***********************/result*=n++;resuIt=1/result;returnresult;]main()(ntn;printf(z/InputN:");scanf&n);printfC\n1/%d!=%lf\n**,n,fun(n));).改錯(cuò)題(1)錯(cuò)誤:intfun(intn)正確:doublefun(intn)(2)錯(cuò)誤:result*=n++;正確:result*=n-;3.編程題編寫(xiě)函數(shù)fun(),它的功能是求n以?xún)?nèi)(不包括n)同時(shí)能被5與11整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。例如:n為1000時(shí),函數(shù)值應(yīng)為s=96.979379。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude <conio.h>incIude <math.h>#include<stdio.h>doubIefundntn))main()(clrscr();printfC,s=%f\n/,,fun(1000));)3.編程題doubIefun(intn){doubles=0.0;inti;for(i=0;i<n;i++) /*從。?n中找到既能被5整除同時(shí)又第5套.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是求方程ax,bx+cR的根(方程的系數(shù)a,b,c從鍵盤(pán)輸入)■例如,當(dāng)a=1,b=2,c=1時(shí),方程的兩個(gè)根分別是:x1=-1.00,x2=-1.00,注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在main函數(shù)的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:include<stdio.h>include<conio.h>include<math.h>mainO(floata,btc,disc,x1,x2,ptq;scanf("%f,,%f",&a,&b,&c);disc=b*tr-4*a*c;clrscr0;printf("*******theresult*******\n");if(disc>=0)(x1=[1];x2=(-b-sqrt(disc))/(2*a);printfCxi=^6.2f,x2=%6.2f\n”,x1,x2);)else(P=_(2L;OF【3】;printf(/zx1=%6.2f+%6.2fi\n”,p,q);printf("x2卷6.2fT6.2fi\n”,p,q);.填空題[1](-b+sqrt(disc))/(2*a)-b/(2*a)sqrt(fabs(disc))/(2*a)2.改錯(cuò)題下列給定程序中函數(shù)fun()的功能是計(jì)算正整數(shù)num的各位上的數(shù)字之平方和。例如:輸入352,則輸出應(yīng)該是38;若輸入328,則輸出應(yīng)該是77。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:incIude<stdio.h>incIude<conio.h>Iongfun(Iongnum)(/**********************found***********************/longk=1;do(k+=(num%10)*(num%10);num/=10;/**********************found***********************/}whiIe(num)return(k);}main()(longn;cIrscr();printf(Z\PIeaseenteranumber:z/);scanf("%Id",&n);printf("\n%Id\n”,fun(n));).改錯(cuò)題(1)錯(cuò)誤:longk=1;正確:longk=0;(2)錯(cuò)誤:while(num)正確:while(num);.編程題請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是求Fibonacci數(shù)列中小于t的最大的一個(gè)數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列F(n)的定義為F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如:t=1000W,函數(shù)值為987。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude <conio.h>incIude <math.h>include <stdio.h>
intfun(intt))main()Iintn;cIrscr();n=1000;printf(/zn=%d, f=%d\n”,n,fun(n));)3.編程題intfun(intt)(inta=1,b=1,c=0,i;/*a代表第n-2項(xiàng),b代表第n-1項(xiàng),c代表第n項(xiàng)*//*如果求得的數(shù)c比指定比較的數(shù)小,則計(jì)算下一個(gè)Fibonacci數(shù),對(duì)a,b重新置數(shù)*/do(c=a+b;a二b;b=c;)while(c<t); /*如果求得的數(shù)c比指定比較的數(shù)大時(shí),退出循環(huán)*/c=a; /*此時(shí)數(shù)c的前一個(gè)Fibonacci數(shù)為小于指定比較的數(shù)的最大的數(shù)*/returnc;)第六套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:計(jì)算NXN維矩陣元素的方差,結(jié)果由函數(shù)返回。維數(shù)N在主函數(shù)中輸入。例如:463032。=40617451548的計(jì)算結(jié)果是14.414〃A-〃A--I其中注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<math.h>#defineN20doublefun([1],intn)(—inti,j;intk;doubles=0.0;doublef=0.0;doubIeaver=0.0;doubIesd=O.0;for(i=0;i<n;i-H-)for(j=0;j<n;j++)s+=a[i][j];aver=【2】;for(i^?T<n;i-H-)for(j=0;j<n;j++)f+=(a[i][j]-aver)*(a[i][j]-aver);f/=(n*n);sd=_[3]_;returnsd;)mainO{_inta[N][N];intn;inti,j;doubles;clrscr0;print"'*****InputthedimensionofarrayN*****\n");scanf&n);print*'*****Thearray*****\n");for(i=0;i<n;i++)(for(j=0;j<n;j++)ta[i][j]=rand0%50;while(a[i][j]=0)a[i][j]=rand0%60;printf("%4d",a。][j]);)printfC\n\nT;]s=fun(a,n);printff*****THERESULT*****\n");printfC%4.3f\n",s);).填空題inta[][N] [2]s/(n*n) [3]sqrt(f).改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是將字符串s中位于偶數(shù)位置的字符或ASCII碼為奇數(shù)的字符放入字符串t中(規(guī)定第一個(gè)字符放在第0位中)。例如:字符串中的數(shù)據(jù)為ADFESHDI,則輸出應(yīng)當(dāng)是AFESDI。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果,注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:incIude<conio.h>incIude<stdio.h>incIude <string.h>defineN80voidfun(chars,chart[])(inti,j=0;for(i=0;i<strlen(s);i++)/**********************found***********************/if(i%2二0||s[i]%2!=0)t[j++]=s[i];t[j]=r\0';main0(chars[N],t[N];clrscr();printf(^XnPleaseenterstrings:gets(s);fun(s,t);printf(\nTheresultis:%s\n*,t);).改錯(cuò)題(1)錯(cuò)誤:voidfun(chars,chart[])正確:voidfun(char*s,chart[])(2)錯(cuò)誤:if(i%2=0||s[i]%2!=0)正確:if(i%2=0||s[i]%2!=0).編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)fun(),它的功能是計(jì)算并輸出給定整數(shù)n的所有因子(不包括1與自身)的平方和(規(guī)定n的值不大于100)。例如:主函數(shù)從鍵盤(pán)給輸入n的值為56,則輸出為sum二1113。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#incIude<stdio.h>longfun(intn)}main()(intn;longsum;printf(z,Inputn:");scanf&n);sum=fun(n);printf("sum=%ld\n”,sum);3.編程題longfun(intn)(inti;Iongs=0;for(i=2;i<=n-1;i++)/*從2?n-1中找n的所有因子*/if(n%i==0)s+=i*i; /*將所有因子求平方加*/returns; /*將平方和返回*/}第7套.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2倒置后接在字符串str1后面。例如:str1="Howdo,r,str2="?oduoy”,結(jié)果輸出:“Howdoyoudo?”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#incIude<stdio.h>#incIude<conio.h>#defineN40voidfun(char*str1,char*str2)(inti=0,j=0,k=0,n;charch;char*p1=str1;char*p2=str2;whiIe(*(p1+i))i++;while(*(p2+j))聲;n=[1];for(;k<=j/2;k++,j-)(ch=*(p2+k);*(p2-H<)=*(p2+j);*(p2+j)=ch;)[2];for(;_[3]_;i++)*(p1+i)=*p2++;*(p1+i)='\0';)mainO(charstr1[N],str2[N];intm,n,k;clrscr0;printf(z/***Inputthestringstr1&str2***\n");printf("\nstr1:");gets(str1);printfC\nstr2:");gets(str2);printfC***Thestringstr1&str2***\rO;puts(str1);puts(str2);fun(str1,str2);printf("***Thenewstring***\n");puts(str1);).填空題j— [2]*(p2+n)=>\01 [3]*p2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是找出100?n(不大于1000)之間百位數(shù)字加十位數(shù)字等于個(gè)位數(shù)字的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,個(gè)數(shù)作為函數(shù)值返回。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#incIude<stdio.h>#defineN100intfun(int*s,intn)(inti,j,kta,b,c;j=0;for(i=100;i<n;i++)/**********************found***********************/k=n;a=k%10;k/=10;b=k%10;c=k/10;if(a==b+c)s[j]=i;)returnj;)main()(inta[N],n,num=O,i;do(printf(z/\nEntern?=1000):");scanf&n);)whiIe(n>1000);num=fun(a,n);printf("\n\nTheresult:\n");for(i=0;i<num;i++)printf("%5d",a[i]);printf("\n\n");).改錯(cuò)題(1)錯(cuò)誤:k=n;正確:k=i;⑵錯(cuò)誤:s[j]=i;正確:s[j++]=i;.編程題程序定義了NXN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值;請(qǐng)編寫(xiě)函數(shù)fun(inta[][N],intn),該函數(shù)的功能是使數(shù)組左下半三角元素中的值加上n。例如:若n的值為3,a數(shù)組中的值為a=254169537則返回主程序后a數(shù)組中的值應(yīng)為55499610注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude <stdio.h>incIude <conio.h>incIude <stdIib.h>defineN5fun(inta[][N],intn)main()(inta[N][N].n,itj;cIrscr();print"'*****Thearray*****\n”);for(i=0;i<N;i++) /*產(chǎn)生一個(gè)隨機(jī)5*5矩陣*/(for(j=0;j<N;j++)(a[i][j]=rand()%10;printf("%4d”,a[i][j]);1printf("\n");)don=rand()%10; /*產(chǎn)生一個(gè)小于5的隨機(jī)數(shù)n*/while(n>=5);printf("n=%4d\n”,n);fun(a,n);printf("*****THERESULT*****\n");for(i=0;i<N;i++)(for(j=0;j<N;j-H-)printf("%4d”,a[i][j]);printf("\n");3.編程題fun(inta[][N],intn)(inti.j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=a[i][j]+n; /*使數(shù)組左下半三角元素中的值加上n*/}第8套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:按’0‘到‘9'統(tǒng)計(jì)一個(gè)字符串中的奇數(shù)數(shù)字字符各自出現(xiàn)的次數(shù),結(jié)果保存在數(shù)組num中。注意:不能使用字符串庫(kù)函數(shù)。例如:輸入“x=112385713.456+0.909*bc”,結(jié)果為:1=3,3=2,5=2,7=1,9=2。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#defineN1000voidfun(char*tt,intnun[])(inti.j;intbb[10]:char*p=tt;for(i=0;i<10;i++)(num[i]=0;bb[i]=0;)whiIe([1])Iif(*p>=*O'&&*p<='9')[2];p++;)for(i=1,j=0;i<10:i=i+2,j++)3;}mainO(charstr[N];intnum[1O],k;clrscr0;printf(AnPIeaseenteracharstring:");gets(str);printfC\n**Theoriginalstring**\n");puts(str);fun(str,nun);printf(zz\n**ThenumberofIetter**\nzz);for(k=O;k<5;k++)(printfCV7);printf(zz%d=%d/z,2*k+1,num[k]);},printfr\n/r);return;].填空題[1]*p [2]bb[*p-,0*]++ [3]num[j]=bb[i].改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是求出數(shù)組中最小數(shù)和次最小數(shù),并把最小數(shù)和a[0]中的數(shù)對(duì)調(diào),次最小數(shù)和a[1]中的數(shù)對(duì)調(diào)。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include <conio.h>#incIude <stdio.h>#defineN20voidfun(int*a,intn)(inti,m,t,k;/**********************found***********************/for(i=0;i<n;i++)(m=i;for(k=i;k<n;k++)if(a[k]<a[m])/**********************found***********************/k=m;t=a[i];a[i]=a[m];a[m]=t;J)main()(intx,b[N]={11,5,12,0,3,6,9,7,10,8l,n=10.i;clrscr();for(i=0;i<n:i++)printf(z,%d[b[i]);printfCAnO;fun(b,n);for(i=0;i<n;i++)printf("%d",b[i]);printf("\n");}.改錯(cuò)題(1)錯(cuò)誤:for(i=0;i<n;i++)正確:for(i=0;i<2;i++)(2)錯(cuò)誤:k=m;正確:m=k;.編程題m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:將高于平均分的人數(shù)作為函數(shù)值返回,將高于平均分的分?jǐn)?shù)放在up所指的數(shù)組中。例如,當(dāng)score數(shù)組中的數(shù)據(jù)為24,35,88,76,90,54,59,66,96時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,up中的數(shù)據(jù)應(yīng)為88,76,90,66,96o注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>incIude<stdio.h>incIude<string.h>intfun(intscore[],intm,intup[]))main0(inti,n,up[9];intscore[9]={24,35,88,76,90,54,59,66,96);clrscr();n=fun(score,9,up);printf(/z\nuptotheaveragescoreare:"):for(i=0;i<n;i++)printfC%d\up[i]);)3.編程題intfun(intscore[],intm,intup[])(inti,j=0;floatav=0.0;for(i=0;i<m;i++)av=av+score[i]/m; /*求平均值*/for(i=0;i<m;i++)if(score[i]>av) /*如果分?jǐn)?shù)高于平均分,則將此分第9套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從字符串str中取出所有數(shù)字字符,并分別計(jì)數(shù),然后把結(jié)果保存在數(shù)組b中并輸出,把其他字符保存在b[10]中。例如:當(dāng)strl二“ab123456789cde090”時(shí),結(jié)果為:0:21:12:13:14:15:16:17:18:19:2othercharactor:5注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>mainO(inti,b[11];char*str=ab123456789cde090,z;char*p=str;clrscr0;printftheorigialdata***\n");puts(str);for(i=0;i<11;i++)b[i]=0;while(*p)(switch(_[£]_)(case'O':b[0]-H-;break;case'T:b[1]++;break;case,21:b[2]++;break;case,3*:b[3]++;break;case'4':b[4]++;break;case'5':b[5]++;break;case,61:b[6]++;break;case'T:b[7]++;break;case'81:b[8]++;break;case'9':b[9]++;break;})print"'******theresult********\n");for(i=0;i<10;i++)printf(,,\n%d:%d,/,i,b[i]);printf(Anothercharactor:%d”,b[i]);)2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是計(jì)算并輸出high以?xún)?nèi)的素?cái)?shù)之和。high由主函數(shù)傳給fun()函數(shù)。若high的值為100,則函數(shù)的值為1060o請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:TOC\o"1-5"\h\zincIude <conio. h>incIude <stdio. h>include <math. h>intfun(inthigh)(intsum=0,n=0,j,yes;whiIe(high>=2)(yes=1:for(j=2;j<=high/2;j++)ifhigh%j==O(yes=0;break;)/**********************found***********************/if(yes==0)sum+=high;n++;]
high—;)returnsum;)main()IcIrscr();printf("%d\n”,fun(100));.改錯(cuò)題(1)錯(cuò)誤:ifhigh%j==O正確:if(high%j=0)(2)錯(cuò)誤:if(yes=0)正確:if(yes).編程題請(qǐng)編寫(xiě)函數(shù)voidfun(intx,intpp[],int*n),它的功能是:求出能整除x且不是奇數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返回。例如,若x中的值為24,則有6個(gè)數(shù)符合要求,它們是2,4,6,8,12,24。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句,試題程序:#incIude<conio.h>#incIude<stdio.h>voidfun(intx,intpp[],int*n)main()(intx,aa[1000],n,i;cIrscr();printf(z\nPIeaseenteranintegernumber:\n");scanf &x);fun(x,aa,&n);for(i=0;i<n;i++)printf("%d”,aa[i]);printf("\n");}3.編程題voidfun(intx,intpp[],int*n)(inti,j=0;for(i=2;i<=x;i=i+2) /*i的初始值為2,步長(zhǎng)為2,確保i為偶數(shù)*/if(x%i==0) /*將能整除x的數(shù)存入數(shù)組pp中*第10套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤(pán)輸入一個(gè)長(zhǎng)整數(shù),如果這個(gè)數(shù)是負(fù)數(shù),則取它的絕對(duì)值,并顯示出來(lái)。例如,輸入:-3847652,結(jié)果為:3847652。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>mainO(longintn;clrscr0;printf("Enterthedata;\n");scanf([1]);printf(zz***theabsolutevalue***\n");if(n<0)[21printf("\n\n");printf([3]);I.填空題w%ld〃,&n [2]n=-n; [3]"%ld〃,n.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCII碼降序排序后輸出。例如:輸入dafhc,則應(yīng)輸出hfdca。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#incIude<conio.h>#incIude<stdio.h>/**********************found***********************/intfun(chart[])charcinti.jfor(i=0for(j=i+1;j<strIen(t);j++)if(t[i]<t[j])[c=t[j];/**********************found***********************/t[j]=t[i++];t[i]=c;)}main()(chars[81];cIrscr();printf(z\nPIeaseenteracharacterstring:;gets(s);printf("\n\nBeforesorting:\n%s\s);fun(s);printf(AnAftersortingdecendingly:\n%s”,s);).改錯(cuò)題(1)錯(cuò)誤:intfun(chart[])正確:voidfun(chart[])(2)錯(cuò)誤:t[j]=t[i++];正確:.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)voidfun(intm,intk,intxx[]),該函數(shù)的功能是:將大于整數(shù)m且緊靠m的k個(gè)非素?cái)?shù)存入所指的數(shù)組中。例如,若輸入15,5,則應(yīng)輸出16,18,20,21,22o注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#incIude<conio.h>#incIude<stdio.h>voidfun(intm,intk,intxx[])1main()(intm,n,zz[1000];clrscr();printf(/z\nPleaseentertwointegers:");scanf("%d%d”,&m,&n);fun(m,n,zz);for(m=0;m<n;m++)printfC%d*.zz[m]);printf(w\n");}3.編程題voidfun(intm,intk,intxx[])(inti,j,n;for(i=m+1,n=0;n<k;i++) /*找大于m的非素?cái)?shù),循環(huán)k第11套.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤(pán)輸入一個(gè)字符串并保存在字符str1中,把字符串st"中下標(biāo)為偶數(shù)的字符保存在字符串str2中并輸出。例如,當(dāng)strk“cdefghij”,則str2=wcegino注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:include<stdio.h>include<conio.h>defineLEN80mainO(charstr1[LEN],str2[LEN];char*p1=str1,*p2=str2;inti=0,j=0;clrscr0;printf('Enterthestring:\n");scant([1]);printfr***theorigiaIstring***\n");whiIe(*(p1+j))IprintfC[2]",*(p1+j));聲;1for(i=0;i<j;i+=2)*p2++=*(str1+i);*p2='\0';printf("\nThenewstringis:%s\n",[3]);.填空題【1】"%s",str1 [2]%c [3]str2.改錯(cuò)題在主函數(shù)中從鍵盤(pán)輸入若干個(gè)數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列給定程序中,函數(shù)fun()的功能是計(jì)算數(shù)組元素中值為負(fù)數(shù)的平均值(不包括0)O例如:數(shù)組中元素的值依次為43,-47,-21,53,-8,12,0,則程序的運(yùn)行結(jié)果為-25.333333。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:incIude <conio.h>incIude <stdio.h>doubIefun(int x[])(doublesum=0.0;intc=0,i=0;while(x[i]==0)(if(x[i]<0)(sum=sum+x[i];C++;)i++;1sum=sum\c;returnsum;}main()(intx[1000];inti=0;cIrscr();printf(AnPIeaseentersomedata(endwith0):do(scanf("%d”,&x[i]);JwhiIe(x[i++]!=0);printf("%f\n”,fun(x));}(1)錯(cuò)誤:while(x[i]=O)正確:whiIe(x[i]!=0)(2)錯(cuò)誤:sum=sum\c;正確:sum=sum/c;.編程題請(qǐng)編寫(xiě)一個(gè)函數(shù)intfun(int*s,intt,int*k),用來(lái)求出數(shù)組的最小元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。例如,輸入如下整數(shù):234345753134436458100321135760則輸出結(jié)果為6,100。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude<conio.h>incIude<stdio.h>intfun(int*s,intt,int*k))main()(inta[10]={234,345,753,134,436,458,100,321,135,760},k;cIrscr();fun(a,10,&k);printf(/z%d,%d\n”,k,a[k]);)3.編程題intfun(int*s,intt,int*k)(inti;*k=0; /*k所指的數(shù)是數(shù)組的下標(biāo)值*/for(i=0;i<t;i++)if(s[*k]>s[i])?k=i; /*找到數(shù)組的最小元素,把該元素的下標(biāo)賦給k所指的數(shù)*/returns[*k]; /*返回?cái)?shù)組的最小元素*/)第12套1.填空題請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從一個(gè)字符串中截取前面若干個(gè)給定長(zhǎng)度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符數(shù)組中,n中存放需截取的字符個(gè)數(shù)。例如:當(dāng)strk"cdefghij”,然后輸入4,則str2="cdef”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#defineLEN80mainO(charstr1[LEN],str2[LEN];intn,i;clrscr0;printf("Enterthestring:\n");gets(str1);printf("EnterthepositionofthestringdeIeted:;scanf([1]);for(i=0;i<n;i++)[2]str2[i]=>\0>;printf("Thenewstringis:%s\n",[3]);1.填空題"%d",&n [2]str2[i]=str1[i]; [3]str2.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#incIude<stdio.h>#incIude<conio.h>voidfun(char*s)(inti,j;for(i=0,j=0;s[i]!='\0';i++)/**********************found***********************/if((s[i]>='A'&&s[i]<='Z')&&(s[i]>=ra'&&s[i]<='z'))s[j++]=s[i];/**********************found***********************/s[j]="\0”;)main()(charitem[80];clrscr();printf(**\nEnterastring:");gets(item);printf(z/\n\nThestringis:\%s\n”,item);fun(item);printfC\n\nThestringofchangingis:\%s\n,z,item);}.改錯(cuò)題(1)錯(cuò)誤:if((s[i]>=1A,&&s[i]<='Z,)&&(s[i]>=,a,&&s[i]<='z'))正確:=1A'&&s[i]<='Z1)||(s[i]>=,a1&&s[i]<='z'))(2)錯(cuò)誤:s[j]="\0”;正確:s[j]='\0';.編程題下列程序定義了NXN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值,,請(qǐng)編寫(xiě)函數(shù)fun(inta[][N]),該函數(shù)的功能是:使數(shù)組右上半三角元素中的值全部置成0。例如a數(shù)組中的值為a=456179326,則返回主程序后a數(shù)組中的值應(yīng)為注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:incIude<conio.h>incIude<stdio.h>incIude<stdlib.h>defineN5intfun(inta[][N]))main()(inta[N][N].itj;cIrscr();printf(zz*****Thearray*****\n/#);for(i=0;i<N;i++) /*產(chǎn)生一個(gè)隨機(jī)的5*5矩陣*/(for(j=0;j<N;j++){a[i][j]=rand()%10;printf("%4d”,a[i][j]);)printffXn*);)fun(a);printf("THERESULT'n");for(i=0;i<N;i++){for(j=0;j<N;j-H-)printf("%4d”,a[i][j]);printf("\n");3.編程題intfun(inta[][N])(inti,j;for(i=0;i<N;i++)for(j=i;j<N;j++)a[i][j]=0; /*將數(shù)組右上半三角元素中的值全部置成0*/}第13套1.填空題請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是判斷一個(gè)數(shù)的個(gè)位數(shù)字和百位數(shù)字之和是否等于其十位上的數(shù)字,是則返回“yes!”,否則返回“no!注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>char*fun(intn)(intg.s,b;g=n%10;s=n/10%10;b=[1]:if((g+b)=s)return[2];elsereturn[3];)mainO(intnum=O;clrscr0;printf(''******Inputdata*******\nz/);scanf&nun);printff\n\n\n*);printf("******Theresult*******\n");printf("\n\n\h%s”,fun(num));).填空題n/100%10 【2】"yes!" [3】"no!”.改錯(cuò)題下列給定的程序中,函數(shù)fun()的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按從大到小的順序進(jìn)行排序。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#defineN20voidfun(inta[],intn)(inti,j.t,p;/**********************found***********************/for(j=0;j<n-1;j++);(P=j;for(i=j;i<n;i++)if(a[i]>a[p])P=i;t=a[p];a[p]=a[j];/**********************found***********************/a[p]=t;))main()(inta[N]=(11,32,-5,2,14),i,m=5;printf("排序前的數(shù)據(jù):”);for(i=0;i<m;i++)printf("%d",a[i]);printf("\n");fun(a,m);printf("排序后的順序:”);for(i=0;i<m;i++)printfC%d”,a[i]);printf("\n");).改錯(cuò)題(1)錯(cuò)誤:for(j=0;j<n-1;j++)正確:for(j=O;j<n-1;j++)(2)錯(cuò)誤:a[p]二t;正確:a[j]:t;.編程題下列程序定義了NXN的二維數(shù)組,并在主函數(shù)中賦值;請(qǐng)編寫(xiě)函數(shù)fun(),函數(shù)的功能是:求出數(shù)組周邊元素的平方和并作為函數(shù)值返回給主函數(shù)中的s.,例如:若a數(shù)組中的值為a=012791112155221611197910254141則返回主程序后s的值應(yīng)為310。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句,試題程序:#incIude<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5intfun(intw[][N])main()(inta[N][N]=(0,1,2,7,9,1,11,21,5,5,2,21,6.11,1,9,7,9,10,2,5,4,1,4,1);inti,j;ints;clrscr();printf(/******Thearray*****\n;for(i=0;i<N;i++){for(j=O;j<N;j++)(print"'%4d",a[i][j]);JprintfC\n");1s=fun(a);printf(Z/*****THERESULT*****\n");printf("Thesumis:%d\n”,s);]3.編程題intfun(intw[][N])(inti,j,k=O;ints=0;for(i=0;i<N;i++)for(j=0;j<N;j++)if(i==01|i=N-11|j==0||j==N-1) /*只要下標(biāo)中有一個(gè)為0或NT,則它一定是周邊元素*/(s=s+w[i][j]*w[i][j]; /*將周邊元素求平方和*/)returns; /*返回周邊元素的平方和*/}第14套1.填空題從鍵盤(pán)輸入一組無(wú)符號(hào)整數(shù)并保存在數(shù)組XX[N]中,以整數(shù)。結(jié)束輸入,要求這些數(shù)的最大位數(shù)不超過(guò)4位,其元素的個(gè)數(shù)通過(guò)變量num傳入函數(shù)fun。。請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:從數(shù)組xx中找出個(gè)位和十位的數(shù)字之和大于5的所有無(wú)符號(hào)整數(shù),結(jié)果保存在數(shù)組yy中,其個(gè)數(shù)由函數(shù)fun()返回。例如:當(dāng)xx[8]=[123,11,25,222,42,333,14,5451}時(shí),bb[4]=(25,42,333,5451).注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句。試題程序:#include<stdio.h>#defineN1000intfun(intxx[],intbb[],intnun)(inti,n=0;intg,s;for(i=0;i<num;i—)Ig=(1J;s=xx[i]/10%10;if((g+s)>5)[2];)return[3];)mainO(intxx[N];intyy[N];intnunPO,n=0,i=O;printfClnputnurber:\rO;doIscanf&xx[nun]);1whiIe(xx[nuiH-*-]!=0);n=fun(xx,yy,nun);printf(z/\nyy=zz);for(i=0;i<n;i++)printfCXu二yy[iD;).填空題[1]xx[i]%10 [2]bb[n++]=xx[i] [3]n.改錯(cuò)題下列給定程序中,函數(shù)fun()的功能是:在字符串str中找出ASCII碼值最小的字符,將其放在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用fun()函數(shù)之前給字符串輸入fagAgBDh,調(diào)用后字符串中的內(nèi)容為AfaggBDh。請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>/**********************found***********************/voidfun(charp)(charmin,*q;inti=0;min=p[i];while(p[i]!=0)(if(min>p[i])(/**********************found***********************/P=q+i;min=p[i];)if)while(q>p){*q=*(q-D;q一;)p[0]=min;)main()Icharstr[80];printf('Enterastring:");gets(str);printf(z/\nTheoriginalstring:");puts(str);fun(str);printf(/z\nThestringaftermoving:");puts(str);printf("\n\n");)2.改錯(cuò)題(1)錯(cuò)誤:voidfun(charp)正確:voidfun(char*p)(2)錯(cuò)誤:p=q+i;正確:q=p+i;.編程題N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:找出學(xué)生的最低分,由函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#incIude<stdIib.h>#defineN8structsIist{doubIes;structsIist*next;);typedefstructsIistSTREC;doublefun(STREC*h)]STREC*creat(double*s)STREC*h,*p,*q;inti=0;h=p=(STREC*)malloc(sizeof(STREC));p->s=0;while(i<N) /*產(chǎn)生8個(gè)節(jié)點(diǎn)的鏈表,各分?jǐn)?shù)存入鏈表中*/{q=(STREC*)malloc(sizeof(STREC));p->s=s[i];i++;p->next=q;p=q;)p->next=NULL;returnh; /*返回鏈表的首地址*/)outIist(STREC*h)ISTREC*p;P=h;printf("head");do{printf(zz->%2.Of”,p->s);p=p->next;} /*輸出各分?jǐn)?shù)*/while(p!=NULL);printf(z/\n\n");)main()(doubles[N]={56,89,76,95,91,68,75,85}rmin;STREC*h;h=creat(s);outIist(h);min=fun(h);printf(/zmin=%6.1f\nz/,min);)3.編程題doublefun(STREC*h)(doubIemin=h->s;while(h!=NULL) /*通過(guò)循環(huán)找到最低分?jǐn)?shù)*/(if(min>h->s)min=h->s;h=h->next;)returnmin;]第15套.填空題str是一個(gè)由數(shù)字和字母字符組成的字符串,由變量num傳入字符串長(zhǎng)度.請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中,函數(shù)返回?cái)?shù)組bb的長(zhǎng)度。例如:str="Bcd123e456hui890”,結(jié)果為:123456890.注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫(xiě)的若干表達(dá)式或語(yǔ)句.試題程序:#include<stdio.h>#defineN80intbb[N];intfun(chars[],intbb口,intnun)(inti,n=0;for(i=0;i<num;i++)(if([1])(bb[n]=[2];rrH-;)1return[3];mainO(charstr[N];ntnurff=O,n,i;printf("Enterastring:\n");gets(str);whiIe(str[num])
numH-;n=fun(str,bb,num);printfCz\nbb=");for(i=0:i<n;i++)pr-”,bb[i]);.填空題s[i]>='O'&&s[i]<='9' [2]s[i]-
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理社工在初級(jí)實(shí)踐中的試題及答案
- 晉中焊工考試題庫(kù)及答案
- 2025年網(wǎng)絡(luò)設(shè)計(jì)師考試前輩心得及試題及答案
- 地理信息系統(tǒng)課程復(fù)習(xí)試題及答案
- 公文培訓(xùn)考核試題及答案
- 鹽類(lèi)水解試題及答案
- 交通考安全員考試試題及答案
- 水利水電考試題庫(kù)及答案
- 2025包裝設(shè)計(jì)委托合同
- 濟(jì)寧三模生物試題及答案
- 2025新疆交投集團(tuán)所屬子公司招56人筆試參考題庫(kù)附帶答案詳解
- 第五講鑄牢中華民族共同體意識(shí)-2024年形勢(shì)與政策
- 2024結(jié)腸鋸齒狀病變?cè)\斷及治療進(jìn)展
- NB-T 47013.1-2015 承壓設(shè)備無(wú)損檢測(cè) 第1部分-通用要求
- (完整版)中國(guó)古代書(shū)法史課件
- 考勤打卡異常情況表
- T∕ZZB 2774-2022 商用車(chē)用氣路電磁閥
- 民法典侵權(quán)責(zé)任編課件
- 員工手冊(cè)(格林豪泰)VDOC
- 高中數(shù)學(xué)蘇教版(2019)選擇性必修第一冊(cè)考前必背知識(shí)點(diǎn) 素材
- 幼兒園幼兒個(gè)人健康檔案
評(píng)論
0/150
提交評(píng)論