2023年計算機二級c語言必過資料_第1頁
2023年計算機二級c語言必過資料_第2頁
2023年計算機二級c語言必過資料_第3頁
2023年計算機二級c語言必過資料_第4頁
2023年計算機二級c語言必過資料_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、程序填空題通訊錄中記錄每位學(xué)生的編號、姓名和電話號碼班級的人數(shù)和學(xué)生的信息從鍵盤讀入,每個人的信息作為一個數(shù)據(jù)塊寫到名為myfile5.dat的二進制中。填空:(1)STYPE(2)FILE(3)fp改錯:(1)for(i=0;i<=sl;i++)(2)t[2*sl]='\0'或t[sl+sl]='\0'編程:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、程序填空題從鍵盤輸入若干文本(每行不超過80個字符),寫到文獻myfile4.txt中,用-1作為字符串輸出輸入的標(biāo)志。然后將文獻的內(nèi)容讀出顯示在屏幕上。文獻的讀寫分別由自定義函數(shù)ReadText和Writetext實現(xiàn)。填空:(1)*fw(2)str(3)str改錯:(1)voidfun(longs,long*t)(2)s1=s1*10;編程:inti,j=0,min=a[0].s;for(i=0;i<N;i++){if(a[i].s<min){j=0;b[j++]=a[i];min=a[i].s;}elseif(min==a[i].s)b[j++]=a[i];}returnj;3、程序填空題將自然數(shù)1~10以及它們的平方根寫到名為myfile3.txt的文本中,然后再按順序讀出顯示在屏幕上。填空:(1)fp(2)fclose(fp)(3)myfile3.txt改錯:(1)for(i=j+1;i<n;i++)(2)p=i;編程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空題函數(shù)fun的功能是:找出形參s所指字符串出現(xiàn)頻率最高的字母(不區(qū)分大小寫),并記錄出其出現(xiàn)的次數(shù),例如,形參s所指的字符串為:abcAbsmaxiess,程序執(zhí)行后的輸出結(jié)果為:letter'a':3timesletter's':3times填空:(1)"r"(2)fs(3)ft?改錯:(1)if(d%2==0)(2)s/=10;

編程:?inti=0,j=0;

while(s[i])

?{

?if(i%2==0&&s[i]%2==0)

???t[j++]=s[i];

? i++;

?}

?t[j]=0;5、程序填空題給定程序中已經(jīng)建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各結(jié)點數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接,函數(shù)fun的功能是:把形參x的值放入一個新結(jié)點并插入到鏈表中,插入后各結(jié)點數(shù)據(jù)域的值仍保持遞增有序。填空:(1)x(2)p(3)s改錯:(1)longk=1;(2)num/=10;編程:inti;floataver=0.0;for(i=0;i<n;i++)aver+=a[i];aver=aver/n;returnaver;6、程序填空題給定程序中已建立一個帶有頭結(jié)點的單向鏈表,在main函數(shù)中將多次調(diào)用fun函數(shù),每調(diào)用一次fun函數(shù),輸出鏈表尾部節(jié)點中的數(shù)據(jù),并釋放該節(jié)點,使鏈表縮短。填空:(1)next(2)t->data(3)t改錯:(1)voidfun(char*a)(2)print("%c",*a);編程:inti;char*p=s,*q=t;intn=0,m=0;while(*p)/*計算串s的長度n,其中p為臨時指針*/{n++;p++;}while(*q)/*計算串t的長度m,其中q為臨時指針*/{m++;q++;}if(n>=m)/*比較m和n的值,設(shè)立p指向較大的指針*/p=s;elsep=t;returnp;7、程序填空題給定程序中建立一個帶有頭結(jié)點的單向鏈表,鏈表中的各節(jié)點按數(shù)據(jù)域遞增有序鏈接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的節(jié)點,使之只保存一個。填空:(1)q(2)next(3)next改錯:(1)缺分號(2)p=i;編程:*n=0;inti;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[*n++]=i;8、程序填空題:在帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點。找到后通過函數(shù)值返回該結(jié)點在鏈表所處的順序號;如不存在值為ch的結(jié)點,函數(shù)返回0值。填空:(1)0或NULL(2)n(3)head,ch改錯:(1)for(i=0,t=0;p[i];i++)(2)c[t]='\0';編程:inti;for(i=1;i<strlen(ss);i+=2){If((ss[i]>='a'&&ss[i]<='z')ss[i]-=32;9、程序填空題記錄出帶有頭結(jié)點的單向鏈表中節(jié)點的個數(shù),存放在形參n所指的存儲單元中。填空:(1)*n(2)next(3)head改錯:(1)a=NULL;(2)if(*r==*p)編程:inti,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]='\0';10、程序填空題計算出帶有頭結(jié)點的單向鏈表中各節(jié)點數(shù)據(jù)域中值之和作為函數(shù)值返回。填空:(1)data(2)next(3)head改錯:(1)while(*r)(2)*a=*r;a++;r++;編程:inti,j=0;for((i=0;i<strlen(s);i+=2)t[j++]=s[i];t[j]='\0';11、程序填空題求ss所指字符串?dāng)?shù)組中長度最短的字符串所在的行下標(biāo),作為函數(shù)數(shù)值返回,并把其串長放在形參n所指變量中。Ss所指字符串?dāng)?shù)組中共有M個字符串,且串長<N.填空:(1)M(2)<(3)k改錯:(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32;編程:inti,j;intt=0;for(i=2;i<m;i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;12、程序填空題例如:形參s所指的字符串為:def35adh3kjsdf7。執(zhí)行結(jié)果為:defadhkjsdf3537填空:(1)j++(2)s[i]=t1[i](3)j改錯:(1)for(j=i+1;j<6;j++)(2)*(pstr+i)=*(pstr+j);編程:intcnt=0;char*p=ss;while(*p){if(*p==c)cnt++;p++;}returncnt;13.程序填空題例如,形參s所指的字符串為:def35adh3kjsdf7.執(zhí)行結(jié)果為:def3*5adh3*kjsdf7*。填空:(1)&&(2)0(3)s[j]改錯(1)for(i=2;i<=m;i++)(2)y+=1.0/(i*i);編程題:intc[3][3];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];}14、程序填空題例如,形參s所指的字符串為abcdef35adgh3kjsdf7。輸出結(jié)果為:4。填空:(1)s[i](2)'9'(3)*t=n;改錯:(1)t=*x;*x=y;(2)return(t);編程:inti;*n=0;for(i=7;i<1000;i++)if(((i%7)==0)||((i%11)==0)&&((i%77)!=0)a[(*n)++]=i;15、程序填空題例如:形參s所指字符串為:abcdefgh,執(zhí)行結(jié)果為:ahcbedgf填空:(1)1(2)s[k](3)c改錯:(1)longs=0,t=0;(2)t=t/10;編程: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++;}16、程序填空題例如,形參s所指的字符串為baawrskjghzlicda,執(zhí)行后p所指字符數(shù)組中的字符串應(yīng)為:aachjlsw。填空:(1)t=i(2)i(3)0改錯:(1)while(fabs(t)>=num)(2)t=s/n;編程:intp,m=0;for(p=0;p<LEN;p++)if(p!=n){b[m]=a[p];m++;}b[m]='\0';17、程序填空題例如:s所指字符字符串為:baacda,c中得字符為:a,執(zhí)行后所指字符串為:baaaacdaa。填空:(1)0或'\0'(2)0(3)c改錯:(1)doublesum=0.0;(2)sum/=c;編程:intk;floatstr=1.0,sum=1.0;for(k=2;k<=n;k++){sum=sum+k;str=str+1/sum;}returnstr;18、程序填空題例如,N=3,m=2,有下列矩陣123456789程序執(zhí)行結(jié)果為001004007填空:(1)i++(2)m(3)m改錯:(1)while((high>=2)&&(n<10))(2)缺分號編程:floatx1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);returnx1;19、程序填空題例如,N=3,有下列矩陣123456789計算結(jié)果為312645978填空:(1)N(2)N-1(3)0改錯:(1)s=s+(n+1.0)/n;(2)returnt;編程:intf0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);returnf;20、程序填空題例如:而N=3,有以下矩陣:123456789計算結(jié)果為741852963填空:(1)0(2)j--(3)j改錯:(1)doublef(doublex)(2)缺分號編程:doubles=0.0;inti;for(i=1;i<=m;i++)s=s+log(1.0*i);s=sqrt(s);returns;21、程序填空題例如,當(dāng)n值為500時,個各位數(shù)字之和為15的整數(shù)有159,168,177,186,195,249,258,267,276,285,294,339,348,357,366,375,384,393,429,438,447,456,465,474,483,492,共有26個。填空:(1)0(2)x(3)t++改錯:(1)inti,s1;(2)t[i]=s[s1-1-i];編程:*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;22、程序填空題例如:當(dāng)x值為5時,100~999之間各位上數(shù)字之和為5的整數(shù)有:104,113,122,131,140,203,212,230,302,311,320,401,410,500.共有15個。當(dāng)x的值為27時,各位數(shù)字之和為27的整數(shù)是:999。只有1個。填空:(1)999(2)t/10(3)x改錯:(1)voidfun(longs,long*t)(2)while(s>0)編程: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;23、程序填空題例如,從主函數(shù)輸入一個整數(shù):27638496,函數(shù)返回值為:26845.填空:(1)1(2)s(3)i*10改錯:(1)intfun(intn,intxx[][M])(2)printf("%d",xx[i][j]);編程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);24程序填空題例如,輸入一個整數(shù):27638496,函數(shù)返回值為:64862.填空:(1)0(2)10*x(3)n/10改錯:(1)*t=0;(2)if(d%2!=0)編程:char*p=p1;while(*p)p++;while(*p2){*p++=*p2++;*p=0;}25.程序填空(與教材18題相應(yīng)))例如:輸入一個數(shù):27638496,新的數(shù):739.填空(1)10(2)0(3)x改錯(1)if(n==0)(2)缺分號編程:longs=0,t;inti=0,j,n=strlen(p),k,s1;if(p[0]=='-')i++;for(j=i;j<=n-1;j++){t=p[j]-'0';s1=10;for(k=j;k<n-1;k++)t*=s1;s+=t;}if(p[0]=='-')return–s;elsereturns;26,程序填空題例如:當(dāng)形參n的值為10時,函數(shù)返回9.612558.填空:(1)0(2)n(3)(t*t)改錯:(1)for(i=0;str[i];i++)(2)for(i=0;str[i];i++)編程:doubles;float(yī)n,t,pi;t=1;pi=0;n=1.0;s=1.0;while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;returnpi;27、程序填空題(與22題相應(yīng))例如,當(dāng)形參n的值為10時,函數(shù)返回:-0.204491填空:(1)1(2)2*i(3)(-1)改錯:(1)缺分號(2)if(m==k)編程:inti;*max=a[0];*d=0;for(i=0;i<n;i++)if(*max<a[i]);{*max=a[i];*d=i;}28、程序填空題例如:若形參e的值為1e-3,函數(shù)的返回值為0.551690。填空:(1)3.0(2)>(3)(2*i+1)改錯:(1)doublefun(intn)(2)s=s+(double)a/b;編程: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;29、程序填空題例如,若形參e的值為1e-3,函數(shù)的返回值2.985678.填空:(1)0(2)i++(3)2.0*i改錯:(1)voidfun(char*s,char*t)(2)t[2*d]='\0';編程:inti,j=o;for(i=1;i<strlen(s);i+=2)if(i%2==0&&s[i]%2)t[j++]=s[i];t[j]='\0';30程序填空題例如,s所指字符串為:asd123fgh543df解決后新字符串為asdfghdf123543.填空:(1)s[i](2)k(3)0改錯:(1)while(*w)(2)if(*r==*p)編程:inti,j=0;for(i=1;i<strlen(s);i+=2)if(s[i]%2)t[j++]=s[i];t[j]='\0';31、程序填空題例如。有下列矩陣:123456789101112若k為2,程序執(zhí)行結(jié)果為:789456123101112填空:(1)k(2)N(3)a[k][i]改錯:(1)for(i=strlen(t)-1;i;i--)(2)if(t[j]>t[j+1])編程:char*p=ssinti=0;while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;p++;i++;}32、程序填空題例如,有以下矩陣:123451234512345若結(jié)果為,程序執(zhí)行結(jié)果為:345123451234512填空:(1)k(2)N-1(3)temp改錯:(1)voidfun(inta[][M],intm)(2)a[j][k]=(k+1)*(j+1);編程:*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;33、程序填空題例如:有下列矩陣12134781063597程序執(zhí)行的結(jié)果為:find:a[2][2]=9填空:(1)j(2)0(3)i++改錯:(1)for(i=2;i<=m;i++)(2)y-=1.0/(i*i);編程:floatav=0.0;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;34、程序填空題例如,形參s所指的字符串味:abcdefgh,n的值為5,程序執(zhí)行后t所指字符串?dāng)?shù)組中的字符串為:defgh.填空:(1)t,s(2)s[i](3)0改錯:(1)if(i%k==0)(2)if(k>=i)編程:inti=0;*n=0;for(i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;35、程序填空題例如,LEVEL和Level是“回文”,而LEVLEV不是“回文”。填空:(1)s(2)—(3)return0改錯:(1)doublefun(intn)(2)c=a;a+=b;b=c;編程:intr=0,temp,p,sign=1;for(temp=m+1;temp<m*m;temp++){for(p=2;p<temp;p++){if(temp%p!=0)sign=1;else{sign=0;break;}}if(sign==1&&p>=temp){if(k>=0){xx[r++]=temp;k--;}elsebreak;}}36程序填空題例如,形參s所指的字符串為:ThisisaClangugeprogram,函數(shù)的返回值為6。填空:(1)n++(2)0(3)s++改錯:(1)t+=s[k];(2)*aver=ave;編程:inti,pos=0,max=*s;for(i=1;i<t;i++){if(max<*(s+i)){max=*(s+i);pos=i;}}*k=pos;37、程序填空題例如:形參s所指的字符串為:Abc@156*,程序執(zhí)行后t所指字符串?dāng)?shù)組中的字符串為:A@156*。填空:(1)*s(2)s++(3)n改錯:(1)intj,c=0;doublexa=0.0;(2)if(x[j]>=xa)編程:floatresult,temp=1.0;inti;for(i=1;i<=m;i++)temp=temp*i;result=temp;for(temp=1.0,i=1;i<=n;i++)temp=temp*i;result=result/temp;for(temp=1.0,i=1;i<=m-n;i++)temp=temp*i;result=result/temp;returnresult;38.程序填空題例如,形參s所指的字符串為:abs5def126jkm8,程序執(zhí)行后的輸出結(jié)果為:22。填空:(1)48(2)s++(3)sum改錯:(1)if((k%13==0)||(k%17==0))(2)]編程:inti;for(i=21;i<=n;i++)if((i%3==0)&&(i%7==0))sum=sum+i;returnsprt(sum);39、程序填空題例如,形參s所指字符串為:abcAbsmaxless,程序執(zhí)行后的輸出結(jié)果為:letter‘a(chǎn)’:3timesletter‘s’:3times填空:(1)*s(2)1(3)k[n]改錯:(1)doublefun(intk)(2)returns;編程:doubles=0.0;inti;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));returns;40、程序填空題給定程序中,函數(shù)fun的功能是:運用指針數(shù)組對形參ss所指字符串?dāng)?shù)組中的字符串按由長到短的順序排序,并輸出排序結(jié)果,ss所指字符串?dāng)?shù)組中共有N個字符串,且串長小于M。填空:(1)i(2)ps[j](3)tp改錯:(1)doublefun(intn)(2)returnsum;編程:inti;?doublea=1,b=1,s=1;?for(i=1;i<=n;i++)41、程序填空題給定程序中,函數(shù)fun的功能是用函數(shù)指針指向要調(diào)用的函數(shù),并進行調(diào)用,規(guī)定在2處使f指向函數(shù)f1,在3處使f指向函數(shù)f2。當(dāng)調(diào)用對的時,程序輸出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000填空:(1)double(2)f1(3)f2改錯:(1)p=h->next;(2)p=p->next;編程:inti,n=0,fg=1;char*p=str;while(*p){n++;p++;}for(i=0;i<n/2;i++)if(str[i]==str[n-1-i]);else{fg=0;break;}returnfg;42、程序填空題給定程序中,函數(shù)fun的功能是將帶頭節(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序,即若原鏈表結(jié)點數(shù)據(jù)從頭至尾的數(shù)據(jù)為:10,4,2,8,6,排序后鏈表結(jié)點數(shù)據(jù)域從頭至尾的數(shù)據(jù)為:2,4,6,8,10。填空:(1)h->next(2)p->next(3)>=改錯:(1)p=h->next;(2)p=p->next;編程:inti,j;for(i=0;i<mm;i++)for(j=0;j<nn;j++){b[*n]=*(*(s+i)+j);*n=*n+1;}43、程序填空題?給定程序中,函數(shù)fun的功能是將不帶頭結(jié)點的單向鏈表逆置,即若鏈表中從頭至尾結(jié)點數(shù)據(jù)域依次為:2,4,6,8,10,逆置后,從頭至尾結(jié)點數(shù)據(jù)域依次為:10、8、6、4、2。

填空:(1)NODE*(2)q(3)r?改錯:(1)if(i%2||s[i]%2==0)(2)t[j]=0;

編程:for(j=0;j<nn;j++)for(i=0;i<mm;i++)b[np++]=s[i][j];?44..程序填空題給定程序中,函數(shù)fun功能是將不帶頭結(jié)點的單向鏈表逆置,即若原鏈表從頭到尾結(jié)點數(shù)據(jù)域依次為:246810逆置后,從頭到尾結(jié)點數(shù)據(jù)域依次為:108642填空:(1)next(2)0(3)r改錯:(1)r=t;(2)if(*r==0)編程:inti,j,k=0;for(i=0;i<M;i++){for(j=0;j<N;j++)if*(*(a+i)+j){b[k]=*(*(a+i)+j};k++;}elsebreak;b[k]=’\0’;}45、程序填空題給定程序中,函數(shù)fun的功能是將不帶頭節(jié)點的單向鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)從小到大排序,即若原鏈表結(jié)點數(shù)據(jù)域從頭到尾的數(shù)據(jù)為:10,4,2,8,6,排序后鏈表結(jié)點數(shù)據(jù)域從頭到尾的數(shù)據(jù)為:2,4,6,8,10。填空:(1)p->next(2)q(3)p->next改錯:(1)'\0'(2)s++;編程:intb[N],i,j=0;for(i=p+1;i<n;i++){b[j]=w[i];j++;}for(i=0;i<=p;i++){b[j]=w[i];j++;}for(i=0;i<n;i++)w[i]=b[i];46、程序填空題給定的程序中,函數(shù)fun的功能是:記錄形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出,例如,形參s所指的字符串為abcdef35adgh3kjsdf7。輸出結(jié)果為:4。填空:(1)double(2)f1(3)f2?改錯:(1)char*fun(char*s,char*t)(2)ss++(3)tt++

編程:

chara[N];

inti;

for(i=0;i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論